2
我在窗體上有一個帶有自動完成功能的.NET TextBox。該表格還定義了AcceptButton
和CancelButton
。如果我嘗試使用Enter
鍵提交建議,或者以Esc
關閉下拉菜單,我的表單會關閉。WinForms文本框自動完成事件
我的想法是創建我的自定義文本框從TexBox
繼承和捕捉Enter
鍵和Escape
關鍵,但只有當自動完成用戶界面是可見的。我怎麼知道自動完成列表何時可見?
public class MyTextBox : TextBox
{
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (IsOnAutoComplete())
{
if (keyData == Keys.Enter || keyData == Keys.Return)
{
return true;
}
}
return base.ProcessCmdKey(ref msg, keyData);
}
}
換句話說,你知道我怎麼能實現IsOnAutoComplete()
方法嗎?有沒有文本框事件注意到這一點?
任何其他解決方案,將不勝感激。提前致謝。
當自動完成列表顯示時,您在MyTextBox WndProc方法上接收到什麼消息?也許你可以捕獲該消息 – 2011-12-14 16:48:02
其實這是我的問題:-) – 2011-12-14 16:57:40