下面是引用對的人於2008-10-01 00:11發表的 關於ActiveViewIndex:
if 的時候 是要顯示 view1控制項裡面的東西嗎? 那SearchType.Products 是什麼意思?
你問的 SearchType 就是列舉,引用一下你貼的程式碼,其中 SearchType 的列舉的定義如下:
Protected Enum SearchType As Integer
NotSet = -1
Products = 0
Category = 1
End Enum
再看下面這一段
Protected Sub radioButton_CheckedChanged(ByVal sender As _
Object, ByVal e As System.EventArgs)
If radioProduct.Checked Then
MultiView1.ActiveViewIndex = SearchType.Products
ElseIf radioCategory.Checked Then
MultiView1.ActiveViewIndex = SearchType.Category
End If
End Sub
MultiView1.ActiveViewIndex 的起始值是從 0 開始,0 代碼第一頁,1 代表第二頁。
如果給 -1 則 MultiView1 不會顯示任何東西。
所以,程式碼的意思是說,有兩個 RadioButton ,一個 Name=radioProduct,一個 Name=radioCategory,
兩個 RadioButton 共用一個事件處理函式 radioButton_CheckedChanged 。
如果 radioProduct.Checked = True 的話,就顯示 MultiView1 的第一頁,
如果 radioCategory.Checked = True 的話,就顯示 MultiView1 的第二頁。
如果不用列舉的話,可以改成下面這樣子
Protected Sub radioButton_CheckedChanged(ByVal sender As _
Object, ByVal e As System.EventArgs)
If radioProduct.Checked Then
MultiView1.ActiveViewIndex = 0
ElseIf radioCategory.Checked Then
MultiView1.ActiveViewIndex = 1
End If
End Sub
不過呢.....不是這樣寫不好,而是可讀性不高....因為 0 代表什麼?1 又代表什麼?
所以為了提高可讀性,就用列舉來表示 0 是指顯示產品,1 是顯示分類。