0
我正在使用不帶下拉列表的組合框來僅接受文本輸入。在窗體窗體上,我有一個OK按鈕,它調用一個使用combobox.Text屬性的函數。如何在Winforms中的Keydown事件後使用combobox.Text
問題是我想在用戶鍵入內容然後按ENTER鍵時調用此函數。我正在嘗試處理KeyDown事件(我試過其他事件的結果相同),但是我發現在這個事件發生後combobox.Text爲null。我想是這樣的,以理想的工作:
private void cbox_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 13)
{
OK(cbox.Text);
}
}
爲什麼combobox.Text KeyDown事件後抹去?同樣的問題不會發生在文本框的權利?我幾乎絕望,但我不想在程序中的每一個窗體上替換這個盒子......請指教!
哦,沒有遺憾,那只是在我試圖讓儘可能明確的例子一個錯字。只有一個ComboBox,上面的代碼不適用於我恐怕 - 在調用OK()的時候,cbox.Text是一個空字符串。 – SWilliams 2012-01-10 12:17:21
我修改了上面的例子。如果用字符串result = cbox.Text替換OK()方法會發生什麼;你有沒有其他的事件在ComboBox的文本上作用? – 2012-01-10 12:26:30
我以前在調試過的時候試過 - 結果爲空,而且cbox.Text =「」據我所知。我不認爲在組合框上還有其他事件正在進行,出於某種原因,文本消失似乎只發生在KeyDown事件上? – SWilliams 2012-01-10 12:55:16