2010-06-24 59 views
1

好吧,這是一個奇怪的VB.NET網格問題。我相信這很簡單,但對我來說沒有意義。VB.NET-Grid雙擊發生單擊

我有一個網格顯示來自綁定源的數據。我有一個方法來處理CellContentDoubleClick,它將獲得單元格的值並使用它來執行新的查找。這將生成一個新的數據源(帶有不同的列),然後我重新綁定到網格。

我的網格雙擊工作,但是當它用新的數據重新繪製時,一次點擊觸發雙擊。無論thre是否是單擊處理程序,都會發生這種情況。

有趣的是,它是(在我的情況下)切換。如果我雙擊,在重新繪製時,只需點擊一下鼠標雙擊代碼。當它再次重新繪製時,我需要雙擊。

雙擊代碼觸發一個消息框 - 如果我告訴它不要繼續,那麼我必須雙擊才能讓它再次觸發。所以它不依賴於顯示的數據。

當它處於響應一次單擊的模式時,我可以選中所有控件,然後單擊網格中的任何單元格,它仍會觸發雙擊。

無論我嘗試做什麼(將焦點設置到其他控件,刷新網格等),沒有任何東西似乎重置網格,因此它始終如一地工作。

任何想法?

+0

有趣的更新 - 我創建了一個非常簡單的演示網格,不能讓它重現問題。所以我正在調查,找出是什麼導致這種副作用。將發佈我發現的內容。 – JustMe 2010-07-01 18:23:25

回答

0

好吧,我找到了答案。數據網格(至少在VS.Net 2007中)有一個名爲「EditMode」的屬性。如果這被設置爲EditOnEnter(不是默認值),那麼你會遇到這種行爲。如果您重置它(或將其更改爲EditOnKeystrokeOrF2),那麼數據網格將按照您的預期工作(沒有任何單擊就像雙擊一樣)

這是在用線程,子類網格進行測試後,您將其命名爲... I應該先審查屬性設置....發牢騷....