我的表格中包含以下内容:
textbox1
textbox2
textbox3
textbox4
button1
和一个功能:
private void checkStatusTextBoxes()
{
button1.Enabled = ( (textbox1.Text.Length != 0) && (textbox2.Text.Length != 0) && (textbox3.Text.Lenght != 0) && (textbox4.Text.Length !=0));
}
我想在文本框中更改文本时检查它,在这里:
private void textbox1_TextChanged(object sender, EventArgs e)
{
checkStatusTextBoxes();
}
我不会为每个文本框重复它,我会在一个事件(?)中添加。我怎么能这样做?
答案 0 :(得分:2)
对于表单上的每个TextBox ...
textbox1_TextChanged
作为事件处理程序我建议更改事件处理程序的名称,因为它清楚它处理所有TextChanged事件而不仅仅是textbox1的事件。
答案 1 :(得分:1)
只需为所有这些使用相同的事件处理程序:
textbox1.TextChanged += textBox_TextChanged;
textbox2.TextChanged += textBox_TextChanged;
textbox3.TextChanged += textBox_TextChanged;
textbox4.TextChanged += textBox_TextChanged;
答案 2 :(得分:1)
您可以将相同的处理程序附加到文本框中,例如:
textbox1.TextChanged += TextChanged;
textbox2.TextChanged += TextChanged;
textbox3.TextChanged += TextChanged;
textbox4.TextChanged += TextChanged;
private void TextChanged(object sender, EventArgs e)
{
checkStatusTextBoxes();
}
答案 3 :(得分:1)
只需添加相同的事件处理程序:
textbox1.TextChanged += textbox_TextChanged;
textbox2.TextChanged += textbox_TextChanged;
textbox3.TextChanged += textbox_TextChanged;
textbox4.TextChanged += textbox_TextChanged;
private void textbox_TextChanged(object sender, EventArgs e)
{
checkStatusTextBoxes();
}