“ 窗体打开时执行一个动作”的含义是用代码模拟某个事件发生,进而调用这个事件的处理方法。因此,要实现这个要求,只要直接调用这个事件的处理方法即可。需要注意的是:必须编写这个事件对应的处理方法,否则,无法用代码模拟事件发生。
【例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("窗体被鼠标点击!");
}
}
}
...我记得如果简单的再load里面调用其他的click函数,会导致死循环或者什么错误来着(因为sender有问题似乎)。
最好的方法就是把要公共使用的代码单独写一个方法:
XXX_Load() {
// other code....
CallMe();
// other code....
}
YYY_click() {
CallMe();
}
private void CallMe() {
// public code....
}
其实,你完全可以修改一下。 比如有个查询函数
private void Query()
{}
按钮事件
protected void btnSelect_click(object sender , EventArgs e)
{
//查询
Query();
}
窗体载入函数
protected void Form1_Load(object sender , EventArgs e)
{
//查询
Query();
}
这样,你就不用那么麻烦 还得考虑 怎么调用。
当然 调用也很简单 楼上都有正解
string bb = "update 门诊划价 set 科室='" + this.textBox2.Text.Trim() + "'编号='" + this.textBox1.Text + "'";
在窗体事件中的Command里面加上就可以 其它的可以举一反三了
把button1_Click的代码放到From_load里面就行,
也可以自己定义一个函数,在From_load中调用,在button1_Click中调用。