根据IF语句自动调用BUTTON_CLICK事件

时间:2013-12-17 09:02:47

标签: c# visual-studio-2010 visual-studio-2012

如果条件为TRUE,我试图调用Button_click事件。但由于某些原因,它无法正常工作。你能帮帮忙吗? 谢谢。

namespace WindowsFormsApplication1
{

public partial class Form1 : Form
{

    public Form1()
    {
        InitializeComponent();
       button1.Click+=button1_Click;

    }


    private void CheckFile()
    {
        FileInfo info = new FileInfo("c:\\test.txt");
        if (info.Length > 0)
        {
            button1.PerformClick();
          //this.button1.Click += new EventHandler(button1_Click);
            MessageBox.Show("FILE is not empty"); //just for check

        }
    }                   

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

public static void main(String[] args)
{
    Form1 f = new Form1();
    f.CheckFile();
    MessageBox.Show("CheckFile called");    

}
}

}

4 个答案:

答案 0 :(得分:0)

像这样调用

button1_Click(this.button1, new EventArgs())

答案 1 :(得分:0)

您需要向Button Click事件处理程序发送两个参数。

1.事件的发生。
2.发生争论。

试试这个:

        object sender = new object() ;
        EventArgs e=new EventArgs();
        button1_Click(sender,e);

答案 2 :(得分:0)

简单地 只需像这样修改你的button1_Click方法:

private void button1_Click(EventArgs e)
{            
        MessageBox.Show("Message POP UP");            
}

并称之为:

button1_Click(new EventArgs);

答案 3 :(得分:0)

试试这个:

//but is the Button you wanna click
buttonClick(but, new MouseEventArgs(MouseButtons.Left , 1, 0, 0, 0 ));