【问题标题】:How to click a button on form load using C#如何使用 C# 在表单加载时单击按钮
【发布时间】:2014-01-30 10:05:24
【问题描述】:

如何使用 C# 单击泡沫加载按钮? 我的按钮叫:btnFacebookLogin

我尝试了以下方法:

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

我正在使用 WinForms C# .NET 4

【问题讨论】:

    标签: c# .net winforms form-load


    【解决方案1】:

    你可以这样做:

    public void Form1_Load(object s, EventArgs e){
      btnFacebookLogin.PerformClick();
    }
    

    而且我认为您知道以下事件处理程序应该存在于您的代码中:

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("hi");
        }
    

    【讨论】:

    • 遗憾的是这对我不起作用。我什至尝试放入 MessageBox.Show("test");
    • 您发布的是:Form1_Shown,您应该将其更改为 Form1_Load,它绝对有效
    【解决方案2】:

    您需要实际单击按钮是否有特定原因?

    我只是将点击事件中的代码移动到一个函数中,然后从加载事件和点击事件中调用该函数。它将绕过调用click()

    的需要

    例如:

    private void Form1_Shown(Object sender, EventArgs e) 
    {
       DoFacebookLogin();
    }
    
    private void btnFacebookLogin_Click(Object sender, EventArgs e)
    {
        DoFacebookLogin();
    }
    
    private void DoFacebookLogin()
    {
        //Do Work here
    }
    

    【讨论】:

      【解决方案3】:

      请务必在 InitializeComponent() 和Load 事件

      之后链接您的处理程序
      public Form1()
      {
         InitializeComponent();
         Load += Form1_Shown;
      }
      
      private void Form1_Shown(Object sender, EventArgs e) 
      {
         btnFacebookLogin.PerformClick(); 
      }
      

      【讨论】:

        【解决方案4】:

        @PriceCheaperton : 你可以从另一个事件中调用一个事件,最简单的例子在这里。

        C#:

        public partial class WebForm1 : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                Button1_Click(sender, e);
            }
        
            protected void Button1_Click(object sender, EventArgs e)
            {
                Response.Write("Calling event from an event...");
            }
        }
        

        ASPX:

        <body>
        <form id="form1" runat="server">
        <div>
            <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
        </div>
        </form>
        

        输出:

        【讨论】:

        • @Sergey Berezovskiy :对于“PriceCheaperton”提到的场景,实现是相同的。只是我喜欢网络技术。我已经在网络表单中发布了解决方案。即使在 windows 窗体中也可以实现相同的功能,而无需更改任何 C# 代码。
        • 问题用 winforms 标记。我也不明白浏览器的屏幕截图在这里有什么帮助
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-30
        • 2012-06-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多