我似乎無法找到一種方法來捕捉磁卡閱讀器的輸入。當它滑動時,輸入會進入活動文本編輯器,如說一個記事本。將磁卡閱讀器的輸入捕捉到變量
不幸的是,對文本框領域的關注不會訣竅,因爲我需要將它作爲標籤而不是文本框。因此,我需要一種方法將USB設備的輸入轉換爲變量或標籤。
有沒有人知道我可以使用這個或任何更好的想法的.NET類?
我似乎無法找到一種方法來捕捉磁卡閱讀器的輸入。當它滑動時,輸入會進入活動文本編輯器,如說一個記事本。將磁卡閱讀器的輸入捕捉到變量
不幸的是,對文本框領域的關注不會訣竅,因爲我需要將它作爲標籤而不是文本框。因此,我需要一種方法將USB設備的輸入轉換爲變量或標籤。
有沒有人知道我可以使用這個或任何更好的想法的.NET類?
我不認爲會有反正你會阻止用戶手動輸入。我懷疑你有模擬鍵盤的讀卡器。所以,爲了能夠從閱讀器讀取,您必須接收鍵盤輸入,並且鍵盤輸入意味着用戶可以鍵入他們喜歡的任何東西。
可能的解決方案是將您的讀卡器更改爲使用API從卡中讀取的讀卡器。
如果獲得更好的讀卡器不是一種選擇,我認爲最好的方法是做一個按鈕。點擊按鈕後,打開一個包含代碼@Bala R提供的新表單。但是,另外,請在第一次按鍵輸入1秒鐘內關閉窗體。這將防止用戶手動篡改輸入,但會爲讀者提供足夠的時間來完成。
如果這是一個WinForms應用程序,你可以做
private void Form1_Load(object sender, EventArgs e)
{
KeyPreview = true;
KeyPress += Form1_KeyPress;
}
private bool inputToLabel = true;
void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (inputToLabel)
{
label1.Text = label1.Text + e.KeyChar;
e.Handled = true;
}
else
{
e.Handled = false;
}
}
只要窗口有焦點,按鍵字符會去標籤的文本。
+1,因爲它是一種比較方式,處理該設備的程序將文本粘貼到編輯器中。 – 2011-03-24 01:26:20
難道你不能使用文本框並將其格式化爲標籤嗎?輸入結束後,您可以只讀。 – Fernando 2011-03-24 01:05:33
它是winforms應用程序嗎? – 2011-03-24 01:11:11
是的,它是Windows窗體,用戶不允許手動輸入。所以我不能使用文本框 – Corbee 2011-03-24 01:13:59