成人免费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動態控件數

2010-01-18 13:12:43

VB.NET控件數組

2009-10-27 09:01:54

VB.NET內存指針

2010-01-07 17:10:01

VB.NET控件數組問

2009-10-22 13:09:19

VB.NET動態控件數

2010-01-07 17:00:38

VB.NET控件數組

2009-10-28 09:25:18

VB.NET List

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 16:04:43

VB.NET Noti

2009-10-14 10:19:57

VB.NET Doma

2009-10-20 10:16:24

VB.NET COMB

2010-01-18 19:36:52

VB.NET調整控件

2009-10-16 16:01:07

VB.NET實現疊代使

2010-01-19 10:12:39

VB.NET Butt

2009-10-14 11:27:20

VB.NET Grou
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品福利av导航 | 日本在线一区二区三区 | 午夜丰满少妇一级毛片 | 草久视频| 久久久蜜桃 | 成人国产在线视频 | 亚洲色欧美另类 | 一区二区高清在线观看 | 久久久精品一区二区三区四季av | 日韩欧美在线观看 | 久久久久国产精品一区二区 | 国产欧美一级二级三级在线视频 | 日日摸夜夜添夜夜添精品视频 | 日韩欧美专区 | 久久久999国产精品 中文字幕在线精品 | 亚洲欧美久久 | 国产亚洲精品精品国产亚洲综合 | 天天草天天 | 国产精品成人国产乱 | 精品一区二区免费视频 | 亚洲视频区| 精品综合久久久 | 欧美日韩国产欧美 | 黄色一级片视频 | 欧美日韩中文字幕在线 | 精品国产亚洲一区二区三区大结局 | 中文字幕一区二区三区四区不卡 | 久久精品日产第一区二区三区 | 日产久久 | 日日摸夜夜添夜夜添特色大片 | 久久久久久九九九九 | 日日综合 | 婷婷免费视频 | 亚洲精品9999| 免费黄色录像片 | 亚洲一区二区三区久久 | 天天爽天天操 | 日本一区二区高清不卡 | 亚洲 中文 欧美 日韩 在线观看 | 国产精品高潮呻吟久久av黑人 | 欧美 日韩 国产 成人 在线 91 |