当前位置:编程学习 > C#/ASP.NET >>

vb.net关于单击按钮产生的事件的代码

静态生成的多个按钮 不同的按钮打击在同一个界面上动态生成不同的控件 (最好能加深点解决一下,就是动态产生的控件是调用数据库的数据 而且是根据某一个特地的标识来取数据,进而判断动态生成控件的个数) --------------------编程问答-------------------- 问题补充:(怕不明白)就是加入 a界面有10个按钮 单击btn1 在界面b里面会产生所要求的某些控件 单击btn2 在界面b里面会产生另一些特定的控件  所以在界面a里面的10个button 都是连接到界面b的 主要是界面b动态产生的控件要怎么出现不一样 --------------------编程问答-------------------- 你要做什么事 --------------------编程问答-------------------- 问题补充不是说的很清楚了 就是在a界面的多个按钮单击产生的事件都在b界面中发生 只是发生的事件不一样
单击btn1 会在b界面产生a b c三个控件 单击btn2 则会产生d e f 三个控件  那些产生的控件全是动态生成的。 --------------------编程问答-------------------- 那你就在B界面定义两个方法,A界面点击不同的按钮时触发不同的方法,从而生成控件 --------------------编程问答-------------------- 大师 说的我也知道啊 可是就是不会写才问啊 定义方法什么的也知道啊 可是怎么触发  --------------------编程问答-------------------- 请先在顶部添加引用


Imports System.Collections.Generic
Imports System.Windows.Forms

在窗体中添加

    Private Sub 生成控件(ByVal 控件类型 As String, ByVal 名称 As String, ByVal 矩形 As Rectangle)
        Select Case 控件类型
            Case "Label"
                Dim t控件 As New System.Windows.Forms.Label
                t控件.Name = 名称
                t控件.Location = New Point(矩形.X, 矩形.Y)
                t控件.Size = New Point(矩形.Width, 矩形.Height)
                t控件.Visible = True
                Me.Controls.Add(t控件)
            Case "TextBox"
                Dim t控件 As New System.Windows.Forms.TextBox
                t控件.Name = 名称
                t控件.Location = New Point(矩形.X, 矩形.Y)
                t控件.Size = New Point(矩形.Width, 矩形.Height)
                t控件.Visible = True
                Me.Controls.Add(t控件)
            Case Else
                ''自己新建控件类型
                '定义控件为新实例
                '设置控件名
                '设置控件位置和尺寸
                '设置控件为可见
                '将控件添加到窗体集合
        End Select
    End Sub


在按钮的Click事件中加入

        Dim 矩形 As New Rectangle
        矩形.X = 100
        矩形.Y = 100
        矩形.Width = 160
        矩形.Height = 32
        生成控件("TextBox", "TextBox1", 矩形)


想要调用生成的控件,可以用Form1.controls("TextBox1")
最好新建一个特定类型的控件集合,以便调用控件的特定方法

'在Case "TextBox"部分的
'Me.Controls.Add(t控件)之后添加
文本框控件集合.Add(t控件.name, t控件)


然后用名称作为键使用集合就可以自如的操作TextBox了
下例添加一个Button1按钮,按下后改变textbox1的文本和颜色

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        文本框控件集合("Textbox1").Text = "动态创建控件就是这么简单"
        文本框控件集合("Textbox1").ForeColor = Color.AliceBlue    
End Sub

--------------------编程问答-------------------- 上面掉了一句话,请添加到Class Form1里面

    Public 文本框控件集合 As SortedList(Of String, TextBox)
--------------------编程问答-------------------- 学习学习
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,