有人可以解释为什么执行此方法(在构造函数中)会抛出语法错误:
public partial class Form1 : Form
{
public Form1()
{
Load += YourPreparationHandler;
}
private void YourPreparationHandler(object sender, EventArgs e)
{
button22_Click(sender, e);
}
}
名称'button22_Click'没有 存在于当前背景中
答案 0 :(得分:5)
button22_Click
是Form1
的成员吗?检查方法是否存在,错误是非常自我解释的。
答案 1 :(得分:4)
button22_Click
是否在任何地方定义?如果不是,那将是问题。
答案 2 :(得分:1)
通常在构造函数中有这样的东西:
public Form1()
{
InitializeComponent();
}
表单类被设置为部分类。这是因为在Visual Studio中将组件拖放到表单上时,VS在后面用更新来更新设计器文件。
所以,你会有
Form1.cs的
Form1.Designer.cs
可能
Form1.xx.resx(如果您已实施全球化)
如果查看设计器文件,您将看到Visual Studio正在生成代码的类似内容:
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.buttonTest = new System.Windows.Forms.Button();
this.textBoxPW = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.textBoxOutput = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// buttonTest
我打赌设计器文件丢失,搞砸了,或者偶然删除了InitializeComponent。在任何情况下,对象(button_22)都不存在或未被引用,因此您将无法在其上引发单击事件。