
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.
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


0