0

我有一个工作方法

something_Click(object sender, EventArgs e)
{
    code
}
... 

它当然在有人单击元素后执行。我需要做的是,在元素出现在屏幕上后立即执行此方法(它是StripStatusLabel)。我只是尝试将方法调用添加到代码的开头,但它什么也没做。

4

3 回答 3

4

您可以在事件处理程序中调用Button.PerformClick您的按钮。Form.Load

您可能还想考虑将该逻辑移动到它自己的方法中,并从按钮处理程序和Load事件中调用该方法,因为这样会更清楚。(显然,您希望触发的代码不仅仅是“按钮单击”)。

于 2012-12-13T21:47:08.897 回答
2

根据您所针对的框架(WPF 与 Winforms),您可能能够处理 Load 事件。当元素出现在屏幕上时触发。

于 2012-12-13T21:46:51.563 回答
0

触发通常来自用户的表单事件不是最佳实践。从某种意义上说,您正试图“伪造”点击。想想未来的调试,或者可能继承你项目的同事。在检查代码时,您会期望 something_Click 仅在单击“某物”时被触发。

更好的解决方案是将代码片段中的“代码”部分放入名称反映其实际作用的方法中。

他们可以在不同的区域使用这种方法。在点击、加载、任何地方触发它。

something_Click(object sender, EventArgs e)
{
    DoStuff();
}

OnAppearToScreen()
{
    DoStuff();
}

DoStuff()
{
    //code that actually does stuff
}

稍后,当您想检查“这些东西”何时对您的对象完成时,您可以通过代码检查轻松判断。

于 2012-12-13T22:06:14.483 回答