1
我試過使用Form.KeyPreview,但字符類型,而ListView標籤編輯不會使其形式的事件處理程序。我真的很想阻止某些字符被添加到標籤中。如何篩選ListView標籤編輯的字符?
我試過使用Form.KeyPreview,但字符類型,而ListView標籤編輯不會使其形式的事件處理程序。我真的很想阻止某些字符被添加到標籤中。如何篩選ListView標籤編輯的字符?
這在技術上是可行的,它需要非常討厭的pinvoke。在BeginLabelEdit事件處理程序中使用SendMessage()來發送LVM_GETEDITCONTROL。返回值是列表視圖創建的編輯控件的句柄。然後,您可以將它用於從NativeWindow派生的類的AssignHandle()參數。您可以重寫哪個WndProc()方法來偵聽WM_KEYDOWN/UP和WM_CHAR消息。在AfterLabelEdit事件處理程序中調用ReleaseHandle()方法。訪問pinvoke.net獲取您需要的聲明。
簡單Winforms的方法是驗證輸入的標籤文本。爲AfterLabelEdit事件實現一個處理程序,如果不滿意,設置e.Cancel = true。
感謝您的回答! – BigD 2011-04-01 21:33:44