我有一個窗體左側面板,其中純粹由單選按鈕組成,tabcontrol在中間,其中有多個標籤頁。這些單獨的標籤頁中都有一系列datagridviews,根據您檢查哪個單選按鈕來顯示和隱藏它們。隱藏datagridviews錯誤
我通過使每個上分配一個CheckChanged事件,該事件通過所有的內tabpagecontrol.SelectedTab控件的循環左側的單選按鈕的實現這一點的效果,並在對應的datagridview的調用.Show(),並調用.Hide ()其餘的,這樣一次只能看到一個datagridview。
當我嘗試以編程方式檢查其中一個RadioButton時,會出現我的問題。比方說在方法X中,我寫了RadioButtonA.checked = true。這會觸發通常的CheckedChange事件處理,該處理會遍歷當前選定的頁面上的所有datagridviews,並調用.Hide()除了單選按鈕應顯示並調用.Show()的一個datagridview窗體。但是,在datagridview上的這些.Hide()調用中的一個上,它最終第二次觸發RadioButtonA.CheckedChange事件AGAIN。當我看看傳遞給函數的sender參數時,它顯示發件人是我以編程方式點擊的RadioButton。
我以編程方式添加這些datagridviews,並可以確認沒有任何事件處理程序分配給他們。任何人都可以幫助我確定是什麼導致這個額外的事件被觸發?謝謝。
感謝jp2code的建議,但似乎這對待症狀而不是原因。如果可能的話,我想解決潛在的問題,並採取這種方法作爲最後的手段。謝謝。 – NeedHelp 2011-04-01 20:42:24
使用解決基本問題的更正確技術進行編輯。 :)布爾解決方案同樣有效......並且速度更快! – jp2code 2011-04-01 21:17:17