点击RFID卡时清除文本框?
Clear textbox when tap RFID card?
我有 2 张 RFID 卡,具有不同的值,例如 123 和 456。
当我点击 textbox1
,然后将第一张卡插入机器时,textbox1.text
会给我一个文本 123。
问题是当我点击第二张卡牌时,如何清空第一张卡牌的数值。我应该使用 textbox1
上的什么事件,所以当我点击第二张卡时,它只会给我 456。
设备发送的代码有特定的长度,例如10个字符。
目前使用我试过的代码,在我点击第一张卡,然后点击第二张卡后,textbox1.text
变为 123456,而我希望第一张卡显示 123 和 456用于第二张卡片。
private void textEdit1_EditValueChanged(object sender, EventArgs e)
{
string text1;
text1 = textEdit1.Text;
if (string.IsNullOrEmpty(text1)) return;
if (text1.Length == 10)
{
getcodestudent(text1);
textEdit1.Text = string.Empty;
textEdit2.Focus();
textEdit1.Focus();
cektap();
if (tap == 0 && tap2 == 0)
{
MessageBox.Show("member not registered on this class");
}
}
}
调试的时候。事件 运行 两次,因为我将 textedit.Text
设置为清空它 运行 超过(循环)1 次。结论 :
当我调试程序时,在它到达代码末尾 messagebox.show
后,它循环回到 textEdit1.Text = string.Empty;
并再次 运行 cektap() 方法。只循环一次。
条形码扫描仪或此类设备通常会发送击键。所以你可以处理 TextBox
的 KeyPress
事件并检查 Text
的长度是否是你期望的特定长度,然后清除 Text
:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (this.textBox1.TextLength == 10)
this.textBox1.Text = "";
}
还有一些设备在序列末尾发送一个额外的 Enter 键,可以处理并用于 运行 表单的默认操作或更改焦点等别的。例如:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Return)
{
//Do Something and the select all texts to prepare text box for next card
this.textBox1.SelectAll();
}
}
我有 2 张 RFID 卡,具有不同的值,例如 123 和 456。
当我点击 textbox1
,然后将第一张卡插入机器时,textbox1.text
会给我一个文本 123。
问题是当我点击第二张卡牌时,如何清空第一张卡牌的数值。我应该使用 textbox1
上的什么事件,所以当我点击第二张卡时,它只会给我 456。
设备发送的代码有特定的长度,例如10个字符。
目前使用我试过的代码,在我点击第一张卡,然后点击第二张卡后,textbox1.text
变为 123456,而我希望第一张卡显示 123 和 456用于第二张卡片。
private void textEdit1_EditValueChanged(object sender, EventArgs e)
{
string text1;
text1 = textEdit1.Text;
if (string.IsNullOrEmpty(text1)) return;
if (text1.Length == 10)
{
getcodestudent(text1);
textEdit1.Text = string.Empty;
textEdit2.Focus();
textEdit1.Focus();
cektap();
if (tap == 0 && tap2 == 0)
{
MessageBox.Show("member not registered on this class");
}
}
}
调试的时候。事件 运行 两次,因为我将 textedit.Text
设置为清空它 运行 超过(循环)1 次。结论 :
当我调试程序时,在它到达代码末尾 messagebox.show
后,它循环回到 textEdit1.Text = string.Empty;
并再次 运行 cektap() 方法。只循环一次。
条形码扫描仪或此类设备通常会发送击键。所以你可以处理 TextBox
的 KeyPress
事件并检查 Text
的长度是否是你期望的特定长度,然后清除 Text
:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (this.textBox1.TextLength == 10)
this.textBox1.Text = "";
}
还有一些设备在序列末尾发送一个额外的 Enter 键,可以处理并用于 运行 表单的默认操作或更改焦点等别的。例如:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Return)
{
//Do Something and the select all texts to prepare text box for next card
this.textBox1.SelectAll();
}
}