有一个用户控件,它有一个单选按钮,该用户控件在对话框中调用。我已经为单选按钮编写了一个onclick
事件,并使用performclick()
来调用它。但是,即使performclick()
正在执行而没有任何异常,它也不会执行单击操作。 它既不调用单击函数,也不反映 UI 中的签入。但是,如果我在 UI 中手动单击它,则单击事件可以完美运行。
正在使用VS2010,为了测试这种情况,我创建了一个helloworld项目。我观察到当单选按钮的 Causesvalidation
属性为 false 时该应用程序运行良好,但当该验证属性为 true 时则不然。
我该如何解决这个问题?
更多:随着我研究的深入,我发现当在其他控件中调用控件以及为许多层执行此操作时,Performclick 效果不佳。在我的情况下也是如此,有四层可以到达我的单选按钮。所以我通过直接调用onclick函数来替换prformclick函数,然后在该函数中制作radiobutton.checked = true。
当你使用 radioButton.PerformClick();
时:
如果仅选中单选按钮 radioButton.Click
- 事件将触发
如果未选中单选按钮,radioButton.Click
& radioButton.CheckedChange
- Event 将触发,因此请确保使用正确的 Event
希望这是有帮助的