Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# button.PerformClick();不在表单加载中工作_C#_Winforms_Button - Fatal编程技术网

C# button.PerformClick();不在表单加载中工作

C# button.PerformClick();不在表单加载中工作,c#,winforms,button,C#,Winforms,Button,我正在调用一个按钮单击,其形式如下所示: public void Form1_Load(object s, EventArgs e) { button.PerformClick(); } 但是在加载按钮时,按钮没有被单击,我做错了什么?您可以在另一个函数中的click中编写您想要执行的任何操作,并从click处理程序中调用该操作,或者通过如下编程方式调用- public void Form1_Load(object s, EventArgs e) { //but

我正在调用一个按钮单击,其形式如下所示:

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

但是在加载按钮时,按钮没有被单击,我做错了什么?

您可以在另一个函数中的click中编写您想要执行的任何操作,并从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
}

要在表单加载时单击按钮,需要在加载表单后触发事件,请尝试以下操作

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
}
这对我很有用:

public void Form1_Load(object s, EventArgs e){
  button.PerformClick();
}
看起来您没有将Form1\u Load注册为表单的
Load
事件的事件处理程序。试试这个:

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

PerformClick()可能由于验证而产生副作用,这可能会阻止事件运行。最好不要这样做,直接调用Click事件处理程序即可。或者它确实可以工作,但你只是看不到它,因为窗口还不可见。你的代码片段糟透了。
按钮\u单击(null,null)可以工作。调用处理程序不是更简单吗:
button\u click(button,neweventargs())?如果您想以编程方式和作为处理程序来执行,最好将其分开。。。当从其他方法调用button_click时,它听起来并不是一个很有说服力和可读性的名称……只是针对那些选择做@DonBoitnott在评论中提到的事情的未来访问者。对于不使用派生类的任何事件或处理程序,始终建议使用
EventArgs.Empty
。这会阻止创建新对象,并且只使用一个瞬间来处理所有事情。示例:
按钮\u单击(按钮,EventArgs.Empty)