【问题标题】:How to Automatically Click a button On a form application?如何自动单击表单应用程序上的按钮?
【发布时间】:2013-07-26 10:14:40
【问题描述】:

我有一个工作表单应用程序,上面有一个按钮。我也有源代码。所以现在我正在尝试从 Windows 上的计划任务运行应用程序,并且我想在应用程序运行时将代码更改为单击按钮操作。问题是应该首先加载表单,然后应该触发点击动作。我需要一个计时器吗?如果是的话,你能给我一个帮助吗?因此加载表单应用程序大约需要 3-4 秒。所以它应该在 5 秒后触发点击动作

【问题讨论】:

  • 使用Shown 事件? (不确定这是否是您的意思,因为您的问题不清楚)
  • 使用Form.LoadForm.Shown 事件,当该事件触发时,调用按钮调用的相同函数。无需模拟点击
  • 但是你在那个按钮点击中做了什么。这是一个完全自动的操作(意味着不需要从表单中输入)?如果是这种情况,请尝试重构您的代码,从按钮单击中提取代码并从传递给您的 main 的命令参数中调用该代码

标签: c# winforms button event-handling


【解决方案1】:

Form.Shown 事件将在表单首次显示给用户时触发,您可以在其中输入您的事件

 protected override void OnShown(EventArgs e)
 {
    base.OnShown(e);
    this.BtnClick(null, null);
 }

【讨论】:

  • 下面的执行点击响应是 IMO 更好的答案。如果有人覆盖事件并想要使用 sender 或 EventArgs,则传入 null 可能会出现问题。
【解决方案2】:

您可以在Form.Shown 事件上使用Button.PerformClick 调用按钮click 事件,以确保加载表单。

private void Form1_Shown(Object sender, EventArgs e) 
{
   Button1.PerformClick(); 
}

Shown 事件仅在第一次显示表单时引发; 随后最小化、最大化、恢复、隐藏、显示或 失效和重绘不会引发这个事件,Reference

【讨论】:

    【解决方案3】:

    buttonName.PerformClick(); 使用 PerformClick 方法调用按钮

    【讨论】:

    • 如果解决方案也可以使用PerformClick 使您的答案更有用和更易于理解,请通过添加更多详细信息来改进您的答案。谢谢
    【解决方案4】:

    你这样调用呼叫按钮点击

    Button_Click(sender,e)

    【讨论】:

      猜你喜欢
      • 2018-06-30
      • 1970-01-01
      • 2020-07-03
      • 2016-04-23
      • 2015-06-01
      • 2018-06-01
      • 2019-01-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多