No overload for 'textBox1_TextChanged' matches deleg
本文关键字:TextChanged matches deleg textBox1 overload No for | 更新日期: 2023-09-27 18:14:48
大家好。这是我的第一个程序,在5分钟内我出现了一个错误。我今天才开始使用c#,所以我知道我应该到处看看,但我不认为我在做什么有问题。
My Program is a Generator根据用户在所有文本框中选择或键入的内容取决于生成代码的外观。
我有两个文本框命名为:textBox1
和GeneratedCode
当我按下checkBox1
时,它允许使用textbox1
。
当我按下按钮时,它创建了一个字符串"Testing"(这是为了确保我做对了)。
当我按下F5来测试我的构建时,它返回了这个错误:
No overload for 'textBox1_TextChanged' matches delegate 'System.EventHandler'
我不知道这是什么意思
下面是我的代码:
public void checkBox1_CheckedChanged(object sender, EventArgs e)
{
switch (checkBox1.Checked)
{
case true:
{
textBox1.Enabled = true;
break;
}
case false:
{
textBox1.Enabled = false;
break;
}
}
}
private void textBox1_TextChanged()
{
}
public void button1_Click(object sender, EventArgs e)
{
GenerateBox.Text += "Testing";
}
private void GenerateBox_Generated(object sender, EventArgs e)
{
}
这是form1。designer在c++中:
//
// textBox1
//
this.textBox1.Enabled = false;
this.textBox1.Location = new System.Drawing.Point(127, 3);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(336, 20);
this.textBox1.TabIndex = 1;
this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged); //Error
//
// GenerateBox
//
this.GenerateBox.Enabled = false;
this.GenerateBox.Location = new System.Drawing.Point(84, 6);
this.GenerateBox.MaxLength = 1000000;
this.GenerateBox.Multiline = true;
this.GenerateBox.Name = "GenerateBox";
this.GenerateBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.GenerateBox.Size = new System.Drawing.Size(382, 280);
this.GenerateBox.TabIndex = 1;
this.GenerateBox.TextChanged += new System.EventHandler(this.GenerateBox_Generated);
函数textbox1_textChanged应该有如下两个参数,以便在本例中被EventHandler接受
textBox1_TextChanged(object sender, EventArgs e)
您的textbox1_TextChanged
方法与System.EventHandler
委托的期望不匹配。应该是
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
编译器告诉你到底是什么错了,你没有一个EventHandler
叫做textBox1_TextChanged
。
将textBox1_TextChanged
方法改为read:
private void textBox1_TextChanged(object sender, EventArgs e)
{
//Why are you handling this event if you aren't actually doing anything here???
}
关于我对这个问题的其余关注,请参考我的代码示例的注释部分。
如果您不打算为此事件添加处理程序,只需从设计器代码中删除以下内容:
textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);