Visual Basic.NET - Visual Studio 2015 - Ayuda: eventos con elementos de un array

 
Vista:
sin imagen de perfil

Visual Studio 2015 - Ayuda: eventos con elementos de un array

Publicado por Oliver (1 intervención) el 24/05/2016 16:49:10
Estoy diseñando un programa en VB 2015, con 3 Checkbox (Checkbox1, Checkbox2 y Checkbox3), de tal manera que tan sólo el primero tenga la posibilidad de los 3 estados del CheckState, y los otros 2 sólo dos.
La idea es crear un menú, como los que muestra Windows 7, por ejemplo, en la sección "Activar o desactivar las características de Windows".
Si, uno sólo de los checkbox (el 2 ó el 3), está activado, el 1 tendría estado "Indeterminado"
Si, los dos están activados - "Marcado"; los dos desactivados - "Desmarcado"

Todos los objetos los estoy creando desde código, no desde el modo diseño. El primer checkbox lo creo aparte, como un sólo objeto, pero los otros dos, los estoy creando como un array.
Mi problema viene cuando quiero añadir el código para controlar lo que debe hacer el programa, al pulsar sobre cualquiera de los checkbox, ya que, al ser objetos no insertados mediante diseño, no me da opción (o yo no sé cómo se hace), de escogerlos.
Es decir, no puedo hacer, por ejemplo, un:

"Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox2.CheckedChanged

End Sub"

Por si acaso, aquí les dejo el código; Si pudieran ayudarme, se lo agradecería.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Public Class Form1
 
    Dim CheckBox1 As CheckBox
    Dim Array(2) As CheckBox
    Dim SubCMDB = {"Opción 1", "Opción 2"}
    Dim index0 = 0
    Dim altura = 20
    Dim Tabulador = 1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        CheckBox1 = New CheckBox
        CheckBox1.Checked = False
        CheckBox1.CheckState = False
        CheckBox1.Name = "CheckBox1"
        CheckBox1.TabIndex = Tabulador
        CheckBox1.Text = "Principal"
        CheckBox1.ThreeState = True
        CheckBox1.Location = New Point(15, altura)
        CheckBox1.Size = New Size(425, 17)
        Me.Controls.Add(CheckBox1)
 
        For i = 1 To 2
            index0 = i - 1
            altura += 17
            Array(i) = New CheckBox
            Array(i).Checked = False
            Array(i).CheckState = False
            Tabulador += 1
            Array(i).Name = "CheckBox" & Tabulador
            Array(i).TabIndex = Tabulador
            Array(i).Text = SubCMDB(index0).ToString
            'index0 = +1
            Array(i).ThreeState = False
            Array(i).Location = New Point(30, altura)
            Array(i).Size = New Size(425, 17)
            Me.Controls.Add(Array(i))
        Next
 
    End Sub
 
End Class
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder