2010-09-17 59 views
4

真的讓我的大腦在這裏受挫,我確信這是我錯過的簡單東西。在VB.NET中取消TabControl標籤選擇

基本上我有一個有兩個選項卡的表單。我正在檢查每個選項卡上的控件,看看它們是否髒,並且希望防止用戶在當前選項卡上發生更改時單擊選項卡。

我曾經想過,如果我檢查髒變量,只是設置選項卡索引,沒有被選中我會很好,但每次我編程設置一個選項卡的屬性,它引發了一堆標籤的事件只會產生不合意的結果,如正確的控件集顯示,但選擇了錯誤的標籤。

下面是代碼爲儘可能接近我得到它的工作。

Private Sub objTabs_Selected(ByVal sender As Object, ByVal e As System.Windows.Forms.TabControlEventArgs) Handles objTabs.Selected 
    If bIsDirty Then 
     If Me.objTabs.SelectedIndex = 1 Then 
      Me.objTabs.SelectedTab = tabLetterofCreditBanks 
      Me.objTabs.SelectTab(0) 
     Else 
      Me.objTabs.SelectedTab = tabWireTransferBanks 
      Me.objTabs.SelectTab(1) 
     End If 
    End If 
End Sub 

在此先感謝。

回答

6

嘗試使用Selecting事件,而不是Selected事件 - 這將讓您有機會來覆蓋用戶的行爲(即設置TabControlCancelEventArgs.CancelTrue)。

+0

不錯,我知道它必須是簡單的東西,我失蹤了。謝謝。 – Tom 2010-09-17 15:01:59