成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

自己動手實現VB.NET控件數組

開發 后端
這里介紹可以自己寫一個類來實現VB.NET控件數組的功能。他們都有現成的代碼,我拿來用了,很好用。這里我就只簡單說一下我在用這個類的過程中出現的問題。

VB.NET經過長時間的發展,很多用戶都很了解VB.NET了,這里我發表一下個人理解,和大家討論討論。由于項目的需求又變了,我必須要在我的窗口上根據讀取的文件不同添加不同的checkbox,我本以為VB.NET和vb一樣一定會有控件數組呢,結果網上的高手們都說沒有VB.NET控件數組這個概念的。不過可以自己寫一個類來實現VB.NET控件數組的功能。他們都有現成的代碼,我拿來用了,很好用。這里我就只簡單說一下我在用這個類的過程中出現的問題。應該比較值得提一下。

  1. Public Class CheckBoxArrClass CheckBoxArr  
  2. Inherits System.Collections.CollectionBase  
  3. Private ReadOnly ParentGrpBx As System.Windows.Forms.GroupBox  
  4. Public Sub New()Sub New(ByVal pGrpBx As System.Windows.Forms.GroupBox)  
  5. ParentGrpBx = pGrpBx 
  6. End Sub  
  7. Default Public ReadOnly Property Item()Property Item
    (ByVal index As Integer) As System.Windows.Forms.CheckBox  
  8. Get  
  9. Return Me.List.Item(index)  
  10. End Get  
  11. End Property  
  12. Public Sub AddItem()Sub AddItem()  
  13. Dim CheckBox1 As New System.Windows.Forms.CheckBox  
  14. Me.List.Add(CheckBox1)  
  15. ParentGrpBx.Controls.Add(CheckBox1)''向窗體中增加控件  
  16. CheckBox1.Tag = Me.Count''Count屬性從CollectionBase 繼承  
  17. CheckBox1.Top = Me.Count * 30  
  18. CheckBox1.Left = 200 
  19. CheckBox1.Text = "CheckBox" & Me.Count.ToString  
  20. End Sub  
  21.  
  22. Public Sub AddItem()Sub AddItem(ByVal CheckBox1 As System.Windows.Forms.CheckBox)  
  23. Me.List.Add(CheckBox1)  
  24. End Sub  
  25.  
  26. Public Sub RemoveItem()Sub RemoveItem()  
  27. If Me.Count > 0 Then  
  28. ParentGrpBx.Controls.Remove(Me(Me.Count - 1))  
  29. Me.List.RemoveAt(Me.Count - 1)  
  30. End If  
  31. End Sub  
  32. End Class  

這里要提的問題很簡單:

1、添加的控件要有個容器,也就是你要向哪個地方添加控件的地方。這里,在我標為紅色的部分設置了添加控件的“父親”,你可以直接添加到你的窗體里,那么就可以將紅色部分改寫為:“ParentForm”和“form”即將那一句改為:Private ReadOnly ParentForm As System.Windows.Forms.Form。在程序里,我是將checkbox添加到一個groupbox里的。所以向哪個容器添加控件就是需要你改的了。

2、控件的布局。記住,控件的位置永遠是相對于他的容器的坐標的。一下給出我添加控件的擺放代碼:三個checkbox占一行。

  1. Public Sub GenerateDynCheckBox()Sub GenerateDynCheckBox(ByRef langList As ArrayList)  
  2. CheckBox1 = New CheckBoxArr(GroupBoxAttrInfo)  
  3. Dim i As Integer  
  4. For i = 0 To langList.Count - 1 'langList 存放各國語言English,French。。。。  
  5. 'add the checkbox array  
  6. CheckBox1.AddItem()  
  7. CheckBox1(i).Text = langList(i)  
  8. CheckBox1(i).Checked = True 
  9. CheckBox1(i).Height = 28 
  10. 'layout the checkboxes  
  11. If i = 0 Then  
  12. CheckBox1(i).Top = 20 
  13. CheckBox1(i).Left = 10 
  14. ElseIf i = 1 Then 'Or 2 Then  
  15. CheckBox1(i).Top = 20 
  16. CheckBox1(i).Left = CheckBox1(i - 1).Left + CheckBox1(i - 1).Width  
  17. ElseIf i = 2 Then  
  18. CheckBox1(i).Top = 20 
  19. CheckBox1(i).Left = CheckBox1(i - 1).Left + CheckBox1(i - 1).Width  
  20. ElseIf i <> 0 And i <> 1 And i <> 2 Then  
  21. CheckBox1(i).Top = CheckBox1(i - 3).Top + CheckBox1(i - 3).Height + 10  
  22. CheckBox1(i).Left = CheckBox1(i - 3).Left  
  23. End If  
  24. Next i  
  25. End Sub 

3、刪除控件。用Checkbox的RemoveItem方法,不要使用RemoveAt方法。RemoveAt方法會導致刪除失敗,會提示NullReferenceException的錯誤,具體為什么我也沒有再進一步研究,如果有高手知道,可以指教一下,小女在這里多謝了。

以上就是我在使用VB.NET控件數組的一些心得,拙見,見笑。

【編輯推薦】

  1. 詳談VB.NET編碼規范經驗
  2. 描述VB.NET工程轉換成步驟
  3. 講述C#與VB.NET間移植的技巧
  4. 分享個人總結VB.NET多線程
  5. 剖析VB.NET TextBox控件
責任編輯:佚名 來源: 比特網
相關推薦

2009-10-16 10:47:58

VB.NET創建控件數

2009-10-27 14:50:25

VB.NET控件數組

2010-01-12 15:54:47

VB.NET動態控件數

2009-10-27 09:01:54

VB.NET內存指針

2010-01-18 13:12:43

VB.NET控件數組

2009-10-28 09:25:18

VB.NET List

2009-10-22 13:09:19

VB.NET動態控件數

2010-01-07 17:00:38

VB.NET控件數組

2010-01-07 17:10:01

VB.NET控件數組問

2009-10-27 15:07:40

VB.NET支付寶接口

2010-01-19 10:03:35

VB.NET Labe

2010-01-13 10:53:24

VB.NET控件

2009-10-23 13:14:38

2009-10-14 10:19:57

VB.NET Doma

2009-10-20 10:16:24

VB.NET COMB

2009-10-14 16:04:43

VB.NET Noti

2009-10-16 16:01:07

VB.NET實現疊代使

2010-01-18 19:36:52

VB.NET調整控件

2009-10-14 17:21:47

VB.NET定制Win

2009-10-16 13:19:04

VB.NET Data
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美中文在线 | 成人精品在线观看 | 欧美高清成人 | 欧一区| 国产精品电影网 | 伊人网站| 天堂在线一区 | 久久成人一区 | 久久精品一区 | 久久久久久女 | 亚洲精品一区二区在线观看 | 热99视频 | 免费一区 | 美美女高清毛片视频免费观看 | 在线一区 | 欧美一区二区在线观看 | 综合久久综合久久 | 亚洲视屏 | 偷拍自拍在线观看 | 巨大荫蒂视频欧美另类大 | 蜜桃精品视频在线 | 国产一区二区黑人欧美xxxx | 亚洲一区二区三区乱码aⅴ 四虎在线视频 | 久久久免费 | 亚洲国产精品视频一区 | 成人免费淫片aa视频免费 | 久久9精品 | 福利精品在线观看 | 91精品国产综合久久久密闭 | 成人精品鲁一区一区二区 | 日本精品视频一区二区 | 色888www视频在线观看 | www.日韩免费 | 日本二区在线观看 | 久久久99国产精品免费 | 一区二区三区在线 | 野狼在线社区2017入口 | 日本在线小视频 | 精品欧美激情在线观看 | 国产精品18久久久久久白浆动漫 | 视频一区在线观看 |