我正在尝试将卡扫描到文本框,并且希望在扫描完成后从文本框中获取价值。
当我尝试执行此操作时,它将在扫描完成之前执行。
private void txtUserName_TextChanged(object sender, EventArgs e)
{
string val = txtUserName.Text;
}
答案 0 :(得分:2)
您需要选择一些特殊字符来表示扫描已完成。
当前,您的代码在更改其中的文本后,会将val
中的所有文本存储在TextBox
中。包括当您键入输入内容的最后一个字符时的情况,因此您的代码最终将可以工作。
但是我建议选择例如\t
个字符,然后使用KeyPress
事件检查此字符指示的扫描完成(因为事件参数具有KeyChar
,这非常有用) :
private void txtUserName_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar != '\t') return;
// handle your event
}