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