我有一个工作方法
something_Click(object sender, EventArgs e)
{
code
}
...
它当然在有人单击元素后执行。我需要做的是,在元素出现在屏幕上后立即执行此方法(它是StripStatusLabel
)。我只是尝试将方法调用添加到代码的开头,但它什么也没做。
您可以在事件处理程序中调用Button.PerformClick
您的按钮。Form.Load
您可能还想考虑将该逻辑移动到它自己的方法中,并从按钮处理程序和Load
事件中调用该方法,因为这样会更清楚。(显然,您希望触发的代码不仅仅是“按钮单击”)。
根据您所针对的框架(WPF 与 Winforms),您可能能够处理 Load 事件。当元素出现在屏幕上时触发。
触发通常来自用户的表单事件不是最佳实践。从某种意义上说,您正试图“伪造”点击。想想未来的调试,或者可能继承你项目的同事。在检查代码时,您会期望 something_Click 仅在单击“某物”时被触发。
更好的解决方案是将代码片段中的“代码”部分放入名称反映其实际作用的方法中。
他们可以在不同的区域使用这种方法。在点击、加载、任何地方触发它。
something_Click(object sender, EventArgs e)
{
DoStuff();
}
OnAppearToScreen()
{
DoStuff();
}
DoStuff()
{
//code that actually does stuff
}
稍后,当您想检查“这些东西”何时对您的对象完成时,您可以通过代码检查轻松判断。