你试验过了吗?我这边测试的没有问题Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged TextBox2.Text = TextBox1.Text End Sub Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged TextBox1.Text = TextBox2.Text End SubTextBox1.Text = TextBox2.Text并没有触发 TextBox1_TextChanged
leave时增加
TextBox2.Text = TextBox1.Text
End Sub Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
TextBox1.Text = TextBox2.Text
End SubTextBox1.Text = TextBox2.Text并没有触发 TextBox1_TextChanged
Leave或者KeyUp或者KeyPress
findcaiyzh(秋心),你两个TextBox的值完全一样当然不再触发了。
private void FmQcParamSet_Load(object sender, EventArgs e)
{
this.txtLowValue.Text = "0";
this.txtHighValue.Text = "0";
this.txtSdValue.Text = "0";
this.txtCvValue.Text = "0";
}
/// <summary>
/// 文本框txtQcValue事件处理,输入数据联动其它两个文本框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void txtQcValue_TextChanged(object sender, EventArgs e)
{
if (this.txtQcValue.Text != "" && this.txtSdValue.Text != "")
{
int qcValue = Convert.ToInt32(this.txtQcValue.Text);
int qcSd = Convert.ToInt32(this.txtSdValue.Text);
int highValue = qcValue + 2 * qcSd;
int lowValue = qcValue - 2 * qcSd; this.txtLowValue.Text = lowValue.ToString();
this.txtHighValue.Text = highValue.ToString();
}
}
/// <summary>
/// 文本框txtQcSdValue事件处理,输入数据联动其它两个文本框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void txtSdValue_TextChanged(object sender, EventArgs e)
{
if (this.txtQcValue.Text != "" && this.txtSdValue.Text != "")
{
int qcValue = Convert.ToInt32(this.txtQcValue.Text);
int qcSd = Convert.ToInt32(this.txtSdValue.Text);
int highValue = qcValue + 2 * qcSd;
int lowValue = qcValue - 2 * qcSd; this.txtLowValue.Text = lowValue.ToString();
this.txtHighValue.Text = highValue.ToString();
}
}
试试这段,输入this.txtQcValue.Text或this.txtSdValue.Text引起余下两个文本框联动