C#中怎样在窗体打开的时候执行一个动作例如button1_Click

2025-01-01 10:17:59
推荐回答(5个)
回答1:

“ 窗体打开时执行一个动作”的含义是用代码模拟某个事件发生,进而调用这个事件的处理方法。因此,要实现这个要求,只要直接调用这个事件的处理方法即可。需要注意的是:必须编写这个事件对应的处理方法,否则,无法用代码模拟事件发生。

【例1】打开窗体时,模拟鼠标点击命令按钮

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //直接调用 button1_Click,模拟鼠标点击button1
            button1_Click(null, EventArgs.Empty);
            // 注意!
            // 调用button1.PerformClick()也可以模拟鼠标点击button1
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("button1被鼠标点击!");
        }
    }
}

【例2】打开窗体时,模拟鼠标双击窗体

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //直接调用 Form1_DoubleClick,模拟鼠标双击窗体
            Form1_DoubleClick(null, EventArgs.Empty);
        }

        private void Form1_DoubleClick(object sender, EventArgs e)
        {
            MessageBox.Show("窗体被鼠标点击!");
        }
    }
}

回答2:

...我记得如果简单的再load里面调用其他的click函数,会导致死循环或者什么错误来着(因为sender有问题似乎)。

最好的方法就是把要公共使用的代码单独写一个方法:

XXX_Load() {
// other code....
CallMe();
// other code....
}

YYY_click() {
CallMe();
}

private void CallMe() {
// public code....
}

回答3:

其实,你完全可以修改一下。 比如有个查询函数
private void Query()
{}
按钮事件
protected void btnSelect_click(object sender , EventArgs e)
{
//查询
Query();
}
窗体载入函数

protected void Form1_Load(object sender , EventArgs e)
{
//查询
Query();
}

这样,你就不用那么麻烦 还得考虑 怎么调用。
当然 调用也很简单 楼上都有正解

回答4:

string bb = "update 门诊划价 set 科室='" + this.textBox2.Text.Trim() + "'编号='" + this.textBox1.Text + "'";
在窗体事件中的Command里面加上就可以 其它的可以举一反三了

回答5:

把button1_Click的代码放到From_load里面就行,
也可以自己定义一个函数,在From_load中调用,在button1_Click中调用。