button.PerformClick();无法在表单加载中工作

问题描述 投票:0回答:4

我在 form_load 中调用按钮单击,如下所示:

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

但是加载按钮后没有被点击,我做错了什么?

c# winforms button
4个回答
7
投票

您可以在另一个函数中编写您想要在 click 内部执行的任何操作,并从单击处理程序内部调用该函数或以编程方式调用它 -

public void Form1_Load(object s, EventArgs e)
    {
        //button.PerformClick();
        PerformClickAction();
    }

void button_click(object sender,EventArgs e) 
{
    PerformClickAction();
}

void PerformClickAction()
{
    // Write what you need to do on click
}

2
投票

这对我有用:

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

看起来 您没有将 Form1_Load 注册为表单的

Load
事件的事件处理程序。试试这个:

public Form1(){
   InitializeComponent();
   Load += Form1_Load;//Register the event handler so that it will work for you.
}

0
投票

要在表单加载时单击按钮,您需要在表单加载后触发一个事件,试试这个

public Form1()
{
        InitializeComponent();
        //Event fired
        this.Load += new System.EventHandler(this.button1_Click);

}

//Event Handler 
private void button1_Click(object sender, EventArgs e)
{
    //do something
}

0
投票

这就是我的做法

private void btnLogin_Click(object sender, EventArgs e)
    {
        if (txtUsername.Text != "")
        {
            return;
        }
        else
        {
            MessageBox.Show("Empty string","Failed",MessageBoxButtons.OK,MessageBoxIcon.Error);
        }
    }
    private void txtUsername_TextChanged(object sender, EventArgs e)
    {
        if (txtUsername.Text != "")
        {
            btnLogin.DialogResult = DialogResult.OK;
        }
        else
        {
            btnLogin.DialogResult = DialogResult.None;
        }
    }

确保将按钮 DialogResult 属性设置为 None。

© www.soinside.com 2019 - 2024. All rights reserved.