真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vb.net控件數(shù)組 vb調(diào)用數(shù)組

vb.net 怎樣創(chuàng)建控件數(shù)組?

Dim Str(20) As String '20數(shù)據(jù)元素

站在用戶的角度思考問題,與客戶深入溝通,找到瀍河網(wǎng)站設(shè)計(jì)與瀍河網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋瀍河地區(qū)。

Dim Text(20) As TextBox

Dim n As Integer = 0

For Each i In Text

i = New TextBox '實(shí)例化

i.Location = New Point(50, n * 20)

Me.Controls.Add(i) '添加窗體

Dim Index As Integer = i.TabIndex '沒index屬性

Str(n) = Index

i.Text = Str(n) 'str數(shù)組值賦值給文本框

n += 1

Next

VB 什么是控件數(shù)組,它有什么優(yōu)點(diǎn)?

Visual Basic(VB)是由微軟公司開發(fā)的包含環(huán)境的事件驅(qū)動編程語言。

它源自于BASIC編程語言。VB擁有圖形用戶界面(GUI)和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫,或者輕松的創(chuàng)建ActiveX控件。程序員可以輕松地使用VB提供的組件快速創(chuàng)建一個(gè)應(yīng)用程序。

語言優(yōu)點(diǎn)

VB的中心思想就是要便于程序員使用,無論是新手或者專家。VB使用了可以簡單創(chuàng)建應(yīng)用程序的GUI系統(tǒng),但是又可以開發(fā)相當(dāng)復(fù)雜的程序。VB的程序是一種基于窗體的可視化組件安排的聯(lián)合,并且增加代碼來指定組建的屬性和方法。

因?yàn)槟J(rèn)的屬性和方法已經(jīng)有一部分定義在了組件內(nèi),所以程序員不用寫多少代碼就可以完成一個(gè)簡單的程序。過去的版本里面VB程序的性能問題一直被放在臺面上討論,但是隨著計(jì)算機(jī)速度的飛速增加,關(guān)于性能的爭論已經(jīng)越來越少。

窗體控件的增加和改變可以用拖放技術(shù)實(shí)現(xiàn)。一個(gè)排列滿控件的工具箱用來顯示可用控件(比如文本框或者按鈕)。每個(gè)控件都有自己的屬性和事件。默認(rèn)的屬性值會在控件創(chuàng)建的時(shí)候提供,但是程序員也可以進(jìn)行更改。很多的屬性值可以在運(yùn)行時(shí)候隨著用戶的動作和修改進(jìn)行改動,這樣就形成了一個(gè)動態(tài)的程序。

舉個(gè)例子來說:窗體的大小改變事件中加入了可以改變控件位置的代碼,在運(yùn)行時(shí)候每當(dāng)用戶更改窗口大小,控件也會隨之改變位置。在文本框中的文字改變事件中加入相應(yīng)的代碼,程序就能夠在文字輸入的時(shí)候自動翻譯或者阻止某些字符的輸入。

VB的程序可以包含一個(gè)或多個(gè)窗體,或者是一個(gè)主窗體和多個(gè)子窗體,類似于操作系統(tǒng)的樣子。有很少功能的對話框窗口(比如沒有最大化和最小化按鈕的窗體)可以用來提供彈出功能。

VB的組件既可以擁有用戶界面,也可以沒有。這樣一來服務(wù)器端程序就可以處理增加的模塊。

VB使用引用計(jì)數(shù)的方法來進(jìn)行垃圾收集,這個(gè)方法中包含有大量的對象,提供基本的面向?qū)ο笾С帧?/p>

因?yàn)樵絹碓蕉嘟M建的出現(xiàn),程序員可以選用自己需要的擴(kuò)展庫。和有些語言不一樣,VB對大小寫不敏感,但是能自動轉(zhuǎn)換關(guān)鍵詞到標(biāo)準(zhǔn)的大小寫狀態(tài),以及強(qiáng)制使得符號表入口的實(shí)體的變量名稱遵循書寫規(guī)則。默認(rèn)情況下字符串的比較是對大小寫敏感的,但是可以關(guān)閉這個(gè)功能。

VB使得大量的外界控件有了自己的生存空間。大量的第三方控件針對VB提供。VB也提供了創(chuàng)建、使用和重用這些控件的方法,但是由于語言問題,從一個(gè)應(yīng)用程序創(chuàng)建另外一個(gè)并不簡單。

擴(kuò)展資料:

術(shù)語

在討論Visual Basic(不包含.NET)時(shí),經(jīng)??梢月牭揭韵逻@些術(shù)語,因此掌握這些術(shù)語的基本理解對初學(xué)者十分有幫助。

1、? 控件:簡單的說,控件就是構(gòu)成或者說建造Visual Basic應(yīng)用程序的圖形化工具,包括窗體、按鈕、復(fù)選框、列表框、數(shù)據(jù)控件、表格控件和圖片控件等等。

2、? 事件:由用戶或操作系統(tǒng)引發(fā)的動作,例如擊鍵、單擊鼠標(biāo)(Click)、雙擊鼠標(biāo)(DblClick)、一段時(shí)間的限制,或從端口接收數(shù)據(jù)。

3、 方法:嵌入在對象定義中的程序代碼,它定義對象怎樣處理信息并響應(yīng)某事件。例如,數(shù)據(jù)庫對象有打開紀(jì)錄集并從一個(gè)記錄移動到另一個(gè)記錄的方法程序的基本元素,它含有定義其特征的屬性,定義其任務(wù)和識別它可以響應(yīng)的事件的方法??丶痛绑w是Visual Basic中所有對象的示例。

4、? 對象:一個(gè)控件、窗體等都可被看作一個(gè)對象。

5、 過程:為完成某些特定的任務(wù)而編寫的代碼段,過程通常用于響應(yīng)特定的事件,也可以當(dāng)作應(yīng)用程序的用戶自定義函數(shù)來使用。

6、? 屬性:屬性是組成用戶界面的各對象的性質(zhì)的具體描述。例如上述“對象”中所提到的尺寸、位置、顏色、寬度、高度等等都稱為控件的屬性。

屬性決定對象的外觀,有時(shí)也決定對象的行為。對象的屬性絕大部分是VB中已經(jīng)事先定義好的,但也有的屬性是需要在應(yīng)用過程中才去定義的。屬性即可為對象提供數(shù)據(jù),也能從對象取回信息。

vb.net如何使用控件數(shù)組,希望可以用label為例

vb.net和vb6.0不同,無法直接使用控件數(shù)組。不過可以通過其他方式變通一下。

比如現(xiàn)在有10個(gè)label,要將這10個(gè)label的text屬性統(tǒng)一設(shè)置為“這是第X個(gè)標(biāo)簽”(X為1-10)。

1.建立10個(gè)label,名稱分別為label1、label2、label3。。label10

2.代碼:

For i = 1 To 10

Me.FindControl("label" i).Text = "這是第" i “個(gè)標(biāo)簽”

Next i

關(guān)鍵點(diǎn)是Me.FindControl()的方法,在代碼中Me.FindControl("label1").text與label1.text是一樣的。

vb中控件數(shù)組的類型可以不同

可以不同。

開發(fā)人員在 Visual Basic 6.0 以及更早的版本中使用控件數(shù)組主要有以下三個(gè)理由:

1. 在循環(huán)中訪問數(shù)組中控件的屬性。

2. 向窗體動態(tài)添加新控件。

3. 允許一個(gè)事件例程與多個(gè)控件連接 。

控件數(shù)組的使用,極大的方便了開發(fā)人員。然而,剛剛從Visual Basic6.0(以下簡稱VB6.0)過渡到Visual Basic.Net(以下簡稱VB.NET)的初學(xué)者卻發(fā)現(xiàn),在VB.NET中似乎不能使用控件數(shù)組了。筆者仔細(xì)查閱了VB.NET的MSDN文檔發(fā)現(xiàn),在 VB.NET 中,確實(shí)不再支持控件數(shù)組。原因是,VB.NET對事件模型作了很大的改動,引入了另外一種數(shù)據(jù)類型――控件集合模型,使控件數(shù)組沒有存在的必要。就像 VB6.0 中的控件數(shù)組可以共享事件一樣,VB.NET 中的事件模型允許任何事件處理程序都可以處理來自多個(gè)控件的事件,這就允許創(chuàng)建屬于不同類型但共享相同事件的控件組。

在VB.net里定義的控件數(shù)組怎么定義事件

Imports?System.Text

Imports?System.Windows

Imports?System.Windows.Forms

Public?Class?Netin?'類?名

'Inherits?Forms.Form

Public?Shared?Netin?As?New?Form

Public?components?As?ComponentModel.IContainer

Protected?Overrides?Sub?Finalize()

MyBase.Finalize()

End?Sub???

DebuggerStepThrough()

Public?Sub?InitializeComponent()

Me.components?=?New?ComponentModel.Container()

Dim?resources?As?ComponentModel.ComponentResourceManager?=?New?System.ComponentModel.ComponentResourceManager(GetType(bjt))

Me.TextBox1?=?New?TextBox(Me.components)

Me.Button1?=?New?Button(Me.components)

'For?…?Next??

Me.Controls.Add(Me.TextBox1)

Me.Controls.Add(Me.Button1)

Me.m?=?New?ContextMenuStrip(Me.components)

Me.m1.Text?=?"菜單項(xiàng)1"?????

'設(shè)置并添加相關(guān)控件,(窗體)Netin?初始化。

End?Sub

Private?Sub?Form_Load(sender?As?Object,?e?As?EventArgs)?Handles?Me.Load

'加載后顯示窗體Netin。

End?Sub

Public?Sub?ObjClick(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click,Button2.Click,Button3.Click,TextBox1.Click?

MessageBox.Show("你按了鼠標(biāo)")

End?Sub

Public?WithEvents?TextBox1?As?TextBox

Public?WithEvents?Button1?As?Button

Public?WithEvents?Button2?As?Button

Public?WithEvents?Button3?As?Button

Friend?WithEvents?m?As?ContextMenuStrip

Friend?WithEvents?m1?As?ToolStripMenuItem

End?Class

Class?MainWindow

Netin.Show()

Netin.Button2.Text?=?"Main"

……

vb.net有沒有類似vb6.0控件數(shù)組的功能

可以實(shí)現(xiàn)

首先創(chuàng)建一個(gè)Button類型控件數(shù)組:

1、創(chuàng)建“Windows應(yīng)用程序”類型的工程,添加名為ButtonArray的類,并使該類繼承 System.Collection.CollectionBase 類。System.Collections.CollectionBase類是.NET框架類庫中為集合操作提供抽象的基類,通過對它的繼承可以為我們的ButtonArray類具備集合增加、刪除、索引的功能。

2、為ButtonArray類添加ParentForm屬性,即控件組所在窗體,創(chuàng)建初始化函數(shù)(構(gòu)造函數(shù));

3、為控件數(shù)組類增加AddItem方法,該方法在控件數(shù)組類中添加成員;

4、為控件數(shù)組類增加RemoveItem方法,該方法在控件數(shù)組中刪除一個(gè)成員。

示例代碼:

Public Class ButtonArray

Inherits System.Collections.CollectionBase

Private ReadOnly ParentForm As System.Windows.Forms.Form

Public Sub New(ByVal pForm As System.Windows.Forms.Form)

ParentForm = pForm

End Sub

Default Public ReadOnly Property Item(ByVal index As Integer) As System.Windows.Forms.Button

Get

Return Me.List.Item(index) ' ButtonArray的List 屬性從CollectionBase 繼承

End Get

End Property

Public Sub AddItem()

Dim btnItem As New System.Windows.Forms.Button

Me.List.Add(btnItem)

ParentForm.Controls.Add(btnItem) '向窗體中增加控件

btnItem.Tag = Me.Count 'Count屬性從CollectionBase 繼承

btnItem.Top = Me.Count * 30

btnItem.Left = 200

btnItem.Text = "Button" Me.Count.ToString

AddHandler btnItem.Click, AddressOf btnItem_Click '綁定事件處理程序

End Sub

Public Sub AddItem(ByVal btnItem As System.Windows.Forms.Button)

Me.List.Add(btnItem)

AddHandler btnItem.Click, AddressOf btnItem_Click '綁定事件處理程序

End Sub

Public Sub RemoveItem()

If Me.Count 0 Then

ParentForm.Controls.Remove(Me(Me.Count - 1))

Me.List.RemoveAt(Me.Count - 1)

End If

End Sub

Public Sub btnItem_Click(ByVal sender As Object, ByVal e As System.EventArgs)

'在這里編寫控件數(shù)組對點(diǎn)擊事件的響應(yīng)

'例如:

MsgBox("點(diǎn)擊:" sender.GetType().ToString CType(CType(sender, Button).Tag, String))

End Sub

End Class

使用創(chuàng)建的控件數(shù)組

在Form1中放置兩個(gè)按鈕Button1、Button2,分別測試控件數(shù)組的增添、刪除。

雙擊Form添加代碼:

Public Class Form1

Inherits System.Windows.Forms.Form

……Windows窗體設(shè)計(jì)器生成的代碼……

Dim Buttons As New ButtonArray(Me)

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Buttons.AddItem()

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Buttons.RemoveItem()

End Sub

End Class

其他的控件數(shù)組也可以用類似的方式來實(shí)現(xiàn)

例如 Label控件數(shù)組

LabelArray.vb代碼如下:

Public Class LabelArray

Inherits System.Collections.CollectionBase

Private ReadOnly ParentForm As System.Windows.Forms.Form

Public Sub New(ByVal pForm As System.Windows.Forms.Form)

ParentForm = pForm

End Sub

Default Public ReadOnly Property Item(ByVal index As Integer) As System.Windows.Forms.Label

Get

Return Me.List.Item(index) ' ButtonArray的List 屬性從CollectionBase 繼承

End Get

End Property

Public Sub AddItem(ByVal btnItem As System.Windows.Forms.Label)

Me.List.Add(btnItem)

AddHandler btnItem.Click, AddressOf btnItem_Click '綁定事件處理程序

End Sub

Public Sub btnItem_Click(ByVal sender As Object, ByVal e As System.EventArgs)

'在這里編寫控件數(shù)組對點(diǎn)擊事件的響應(yīng)

'例如:

MsgBox("點(diǎn)擊:" sender.GetType().ToString CType(CType(sender, Label).Tag, String))

End Sub

End Class

使用創(chuàng)建的Label控件

在Form1中放置兩個(gè)按鈕Label1、Label2

雙擊Form添加代碼:

Public Class Form1

Inherits System.Windows.Forms.Form

#Region " Windows 窗體設(shè)計(jì)器生成的代碼 "

Public Sub New()

MyBase.New()

'該調(diào)用是 Windows 窗體設(shè)計(jì)器所必需的。

InitializeComponent()

'在 InitializeComponent() 調(diào)用之后添加任何初始化

'用來綁定label

BindArray()

End Sub

……Windows窗體設(shè)計(jì)器生成的其他代碼……

#End Region

Dim Labels As New LabelArray(Me)

Public Sub BindArray()

Me.Label1.Tag = "1111"

Me.Label2.Tag = "222"

Labels.AddItem(Me.Label1)

Labels.AddItem(Me.Label2)

End Sub

End Class

然后可以測試點(diǎn)擊兩個(gè)label可以顯示相應(yīng)的Tag的信息。


分享名稱:vb.net控件數(shù)組 vb調(diào)用數(shù)組
標(biāo)題URL:http://weahome.cn/article/dodjghg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部