假设我有两个文本框,一个文本框保存二进制数据,另一个文本框等效于ASCII。如果用户说更改其中一个,那么我如何在不按下按钮的情况下同时更新另一个文本框?

最佳答案

您必须防止无限循环(asciiTextBox更改binaryTextBox.Text从而更改asciiTextBox.Text等),并且您可以实现类似以下操作:

private void asciiTextBox_TextChanged(object sender, EventArgs e) {
  binaryTextBox.TextChanged -= binaryTextBox_TextChanged;

  try {
    binaryTextBox.Text = BinaryText(asciiTextBox.Text);
  }
  finally {
    binaryTextBox.TextChanged += binaryTextBox_TextChanged;
  }
}

private void binaryTextBox_TextChanged(object sender, EventArgs e) {
  asciiTextBox.TextChanged -= asciiTextBox_TextChanged;

  try {
    asciiTextBox.Text = AsciiText(binaryTextBox.Text);
  }
  finally {
    asciiTextBox.TextChanged += asciiTextBox_TextChanged;
  }
}

关于c# - C#同时更新两个文本框?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36892086/

10-12 14:55