【发布时间】:2015-08-01 08:56:43
【问题描述】:
我正在尝试使用 Windows 窗体创建两个同步的文本框,但我似乎遇到了多个问题。也许你们可以帮助我让事情变得更有效率。
如您所见,回车键没有问题,因为我已经解决了这个问题。
- 我在按住 shift 键时看到一个特殊符号
- 按退格键会在该行中添加一个新符号。
- 同时按下后退键不会多次删除或添加(新符号)。我假设每次按下后退键都会删除 1 个字符。
- 后退键不会擦除新行(“\n\r”);
- 最后两行分别用于 alt 和 ctrl 键。
到目前为止这个表单的代码是
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
//Disable usage of arrowkeys
if(e.KeyCode==Keys.Left || e.KeyCode==Keys.Right || e.KeyCode==Keys.Up || e.KeyCode==Keys.Down)
{
e.SuppressKeyPress=true;
}
//Remove a character
if (e.KeyCode == Keys.Back)
textBox2.Text = textBox2.Text.Remove(textBox2.TextLength - 1, 1);
//Upper and lower case characters
if (!e.Shift && e.KeyCode >= Keys.A && e.KeyCode <= Keys.Z)
textBox2.Text += (char)(e.KeyValue + 32);
else
textBox2.Text += (char)(e.KeyValue);
//Next Line
if (e.KeyData == Keys.Enter)
textBox2.Text += "\n\r";
}
你建议我做什么?
编辑:这不是我的最终意图。我希望将每个输入实时转换为不同的表示形式。现在,我只是检查每个输入的含义。
【问题讨论】:
-
为什么要这样同步?在两个文本框中显示相同的值怎么样?如果您只是同步显示的值,那会容易得多。但我不知道这是否适用于您的场景。
-
@Sjoerd2228888 这不是我的最终意图。我希望将每个输入实时转换为不同的表示形式。现在,我只是检查每个输入的含义。