加载时如何使表单单击按钮?
How to make a form click a button when loaded?
我有 2 个表格 - 主菜单表格,点击注册即可。
在注册表单上,我有一个按钮。我希望表单在加载时自动点击。以下是我到目前为止尝试过的方法,但它不起作用。有什么建议吗?
public Membershipform()
{
InitializeComponent();
Button_1.PerformClick();
}
问题是您在窗体的构造函数中调用 PerformClick()
。此时,按钮的 Visible
属性 为假,导致 PerformClick()
失败,因为为了使其工作,Visible
和 Enabled
按钮的属性必须为真。您可以通过检查 source.
来确认这一点
您的选择:
将对 PerformClick()
的调用移动到表单的 Load
事件。
private void Membershipform_Load(object sender, EventArgs e)
{
Button_1.PerformClick();
}
将按钮的 Click 事件处理程序中的代码移到一个单独的方法中,并从构造函数中调用该方法。
public Membershipform()
{
InitializeComponent();
DoSomething();
}
private void DoSomething()
{
// Code that was originally in Button_1_Click
}
private void Button_1_Click(object sender, EventArgs e)
{
DoSomething();
}
直接从表单构造函数调用Button_1_Click
:
public Membershipform()
{
InitializeComponent();
Button_1_Click(null, EventArgs.Empty);
}
我有 2 个表格 - 主菜单表格,点击注册即可。
在注册表单上,我有一个按钮。我希望表单在加载时自动点击。以下是我到目前为止尝试过的方法,但它不起作用。有什么建议吗?
public Membershipform()
{
InitializeComponent();
Button_1.PerformClick();
}
问题是您在窗体的构造函数中调用 PerformClick()
。此时,按钮的 Visible
属性 为假,导致 PerformClick()
失败,因为为了使其工作,Visible
和 Enabled
按钮的属性必须为真。您可以通过检查 source.
您的选择:
将对
PerformClick()
的调用移动到表单的Load
事件。private void Membershipform_Load(object sender, EventArgs e) { Button_1.PerformClick(); }
将按钮的 Click 事件处理程序中的代码移到一个单独的方法中,并从构造函数中调用该方法。
public Membershipform() { InitializeComponent(); DoSomething(); } private void DoSomething() { // Code that was originally in Button_1_Click } private void Button_1_Click(object sender, EventArgs e) { DoSomething(); }
直接从表单构造函数调用
Button_1_Click
:public Membershipform() { InitializeComponent(); Button_1_Click(null, EventArgs.Empty); }