Avatar billede jelle Nybegynder
19. oktober 2004 - 08:30 Der er 4 kommentarer og
1 løsning

Kontrol-array i vb.net

Hey!

I det gode gamle VB6.0 kunne man copy/paste en label, og derved lave den om til et kontrolarray... kan man ik det i vb.net??

PÅ forhånd tak for hjælpen!
Avatar billede arne_v Ekspert
19. oktober 2004 - 08:34 #1
Der er em Controls ecllection og du kan lave arrays af kontroller.

Et par eksempler som viser lidt muligheder:

Imports System
Imports System.Drawing
Imports System.Windows.Forms

Namespace DefaultNamespace
    Public Class MainForm
        Inherits System.Windows.Forms.Form
        Private checkBox1 As CheckBox
        Private checkBox2 As CheckBox
        Private checkBox3 As CheckBox
        Private checkBox4 As CheckBox
        Private checkBoxAll(4) As CheckBox
        Private button1 As Button
        Private button2 As Button

        Public Shared Sub Main
            Dim fMainForm As New MainForm
            fMainForm.ShowDialog()
        End Sub

        Public Sub New()
            MyBase.New
            InitializeComponent
            checkBoxAll(0) = checkBox1
            checkBoxAll(1) = checkBox2
            checkBoxAll(2) = checkBox3
            checkBoxAll(3) = checkBox4
        End Sub

        Private Sub InitializeComponent()
            checkBox1 = New CheckBox
            checkBox2 = New CheckBox
            checkBox3 = New CheckBox
            checkBox4 = New CheckBox
            button1 = New Button
            button2 = New Button
            SuspendLayout
            checkBox1.Location = New Point(50, 50)
            checkBox1.Size = New Size(100, 25)
            checkBox1.Text = "Valg 1"
            checkBox2.Location = New Point(50, 100)
            checkBox2.Size = New Size(100, 25)
            checkBox2.Text = "Valg 2"
            checkBox3.Location = New Point(50, 150)
            checkBox3.Size = New Size(100, 25)
            checkBox3.Text = "Valg 3"
            checkBox4.Location = New Point(50, 200)
            checkBox4.Size = New Size(100, 25)
            checkBox4.Text = "Valg 4"
            button1.Location = New Point(200, 100)
            button1.Size = New Size(50, 25)
            button1.Text = "Set"
            AddHandler button1.Click, AddressOf Button1Click
            button2.Location = New Point(200, 150)
            button2.Size = New Size(50, 25)
            button2.Text = "Clear"
            AddHandler button2.Click, AddressOf Button2Click
            ClientSize = New Size(300, 250)
            Controls.Add(checkBox1)
            Controls.Add(checkBox2)
            Controls.Add(checkBox3)
            Controls.Add(checkBox4)
            Controls.Add(button1)
            Controls.Add(button2)
            Name = "Main Form"
            Text = "Main Form"
            ResumeLayout(False)
        End Sub

        Private Sub Button1Click(sender As System.Object, e As System.EventArgs)
            Dim i As Integer
            For i = 0 To 3
                checkBoxAll(i).Checked = True
            Next
        End Sub

        Private Sub Button2Click(sender As System.Object, e As System.EventArgs)
            Dim i As Integer
            For i = 0 To 3
                checkBoxAll(i).Checked = False
            Next
        End Sub
    End Class
End Namespace

og

Imports System
Imports System.Drawing
Imports System.Windows.Forms

Namespace DefaultNamespace
    Public Class MainForm
        Inherits System.Windows.Forms.Form
        Private checkBoxAll(4) As CheckBox
        Private button1 As Button
        Private button2 As Button

        Public Shared Sub Main
            Dim fMainForm As New MainForm
            fMainForm.ShowDialog()
        End Sub

        Public Sub New()
            MyBase.New
            InitializeComponent
        End Sub

        Private Sub InitializeComponent()
            Dim i As Integer
            For i = 0 To 3
                checkBoxAll(i) = New CheckBox
            Next
            button1 = New Button
            button2 = New Button
            SuspendLayout
            For i = 0 To 3
                checkBoxAll(i).Location = New Point(50, 50 + i * 50)
                checkBoxAll(i).Size = New Size(100, 25)
                checkBoxAll(i).Text = "Valg " & (i + 1)
            Next
            button1.Location = New Point(200, 100)
            button1.Size = New Size(50, 25)
            button1.Text = "Set"
            AddHandler button1.Click, AddressOf Button1Click
            button2.Location = New Point(200, 150)
            button2.Size = New Size(50, 25)
            button2.Text = "Clear"
            AddHandler button2.Click, AddressOf Button2Click
            ClientSize = New Size(300, 250)
            For i = 0 To 3
                Controls.Add(checkBoxAll(i))
            Next
            Controls.Add(button1)
            Controls.Add(button2)
            Name = "Main Form"
            Text = "Main Form"
            ResumeLayout(False)
        End Sub

        Private Sub Button1Click(sender As System.Object, e As System.EventArgs)
            Dim i As Integer
            For i = 0 To 3
                checkBoxAll(i).Checked = True
            Next
        End Sub

        Private Sub Button2Click(sender As System.Object, e As System.EventArgs)
            Dim i As Integer
            For i = 0 To 3
                checkBoxAll(i).Checked = False
            Next
        End Sub
    End Class
End Namespace
Avatar billede jelle Nybegynder
19. oktober 2004 - 08:41 #2
oki... dvs at der ik findes nogen nem vej.. nå må jo bare tygge mig igennem koden... :D
Avatar billede arne_v Ekspert
19. oktober 2004 - 09:37 #3
Afhænger nok lidt af hvad du vil. Nogen ting virker faktisk ret godt
med .NET måden at gøre det på.
Avatar billede jelle Nybegynder
20. oktober 2004 - 16:33 #4
har fundet ud af det...
tanx... opretter du lige et svar?
Avatar billede arne_v Ekspert
20. oktober 2004 - 16:34 #5
kommer her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester