2010-04-28 71 views
0

我正在做的事情爲上點擊時燒製How do I prevent the user from changing the selected tab page in a TabControl?TabPage的驗證事件的當前選擇的選項卡

事情做工精細。但是,如果我現在選擇了tabpage1並且用戶單擊了tabpage1本身,則會發生tabpage1的驗證事件。之後當用戶單擊tabpage1驗證事件tabpage1不會觸發。

如果我在確認tabpage1的事件時做了e.Cancel會發生什麼,在上述情況下,當用戶錯誤地選擇了tabpage1時,如果用戶點擊了tabpage1,它會提示用戶「您是否想保留當前標籤頁以保存數據還是從當前標籤移動?「。如果用戶單擊Stay但不做任何更改。然後,當他正確點擊tabpage2時,tabpage1的驗證事件不會觸發。

我上傳了示例應用程序here。你可以運行並看到行爲,以正確理解問題

回答

1

改爲使用TabControl.Selecting Event

使用方法如下:

tabControl1.Selecting += tabControl1_Selecting; 

private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e) 
{ 
    e.Cancel = !(can switch tab); 
} 
+0

感謝您的鏈接。我將使用取消選擇事件。 – IsmailS 2010-04-29 06:32:20

1

這是如何驗證應該行爲的情感,它只是不是一個幸運的搭配與標籤頁。

您可以使用選擇/選定事件並自己編寫更多邏輯。或者放棄任何一個標籤頁或想要單獨驗證他們的想法。

+0

無需留下任何想法,也不標籤頁。選擇事件可以做。順便說一句,取消選擇活動將效果不錯。感謝@Jens Granlund給出的鏈接 – IsmailS 2010-04-29 06:31:45

相關問題