如何使 TextBox 像 C# 中的超级终端一样处理文本?
How to make TextBox handle text like a hyperterminal in c#?
当用户在 TextBox 处于焦点状态时输入字符时,我根本不希望该字符显示在 TextBox 上,我也不想使用 Clear() 方法,因为可能还有其他文本在我不想删除的文本框中。到目前为止我已经尝试过:
private void WriteBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)13) // enter key pressed
{
WriteBox1.Text = "";
}
// Code to write Serial....
String writeValues = WriteBox1.Text;
String withoutLast = writeValues.Substring(0, 1);
WriteBox1.Text = withoutLast;
}
这将保留在 writeBox1 中输入的最后一个字母。我需要它来删除输入的所有字符。
我也累了:
writeValues.Replace(writeValues, "");
WriteBox1.Text = writeValues;
尝试在 eventargs 上设置 Handled 属性。将 Handled 设置为 true 以取消 KeyPress 事件。这样可以防止控件处理按键。
示例:
private void keypressed(Object o, KeyPressEventArgs e)
{
// The keypressed method uses the KeyChar property to check
// whether the ENTER key is pressed.
// If the ENTER key is pressed, the Handled property is set to true,
// to indicate the event is handled.
if (e.KeyChar == (char)Keys.Return)
{
e.Handled = true;
}
}
当用户在 TextBox 处于焦点状态时输入字符时,我根本不希望该字符显示在 TextBox 上,我也不想使用 Clear() 方法,因为可能还有其他文本在我不想删除的文本框中。到目前为止我已经尝试过:
private void WriteBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)13) // enter key pressed
{
WriteBox1.Text = "";
}
// Code to write Serial....
String writeValues = WriteBox1.Text;
String withoutLast = writeValues.Substring(0, 1);
WriteBox1.Text = withoutLast;
}
这将保留在 writeBox1 中输入的最后一个字母。我需要它来删除输入的所有字符。 我也累了:
writeValues.Replace(writeValues, "");
WriteBox1.Text = writeValues;
尝试在 eventargs 上设置 Handled 属性。将 Handled 设置为 true 以取消 KeyPress 事件。这样可以防止控件处理按键。
示例:
private void keypressed(Object o, KeyPressEventArgs e)
{
// The keypressed method uses the KeyChar property to check
// whether the ENTER key is pressed.
// If the ENTER key is pressed, the Handled property is set to true,
// to indicate the event is handled.
if (e.KeyChar == (char)Keys.Return)
{
e.Handled = true;
}
}