verificar se CheckBox, criado em runtime, esta selecionado e executar
Estou fazendo um aplicativo que pega os nome em uma tabela na DB e gera CheckBox para cada um destes valores e ao clicar em um botão ele verifica quais checkbox estão selecionados e gera uma ação diferente para cada um deles, porem não estou conseguindo fazer essa verificação.
** tente fazer das seguintes formas, mais sem sucesso:
For i As Integer = 0 To conexao.contagem
If "CB" + Trim(Str(i)) + ".Checked" = True Then
'........ ação ........'
End If
Next i
Da o seguinte erro: A Conversão da seqüência de caracteres 'CB0.Checked no tipo 'Boolean' não e válida.
Segue a função que cria o CheckBox
Public Sub criarcheckbox(nome As String, atalho As String, x As Integer, y As Integer)
Dim CBAtalho As CheckBox = New CheckBox
CBAtalho.Location = New Point(x, y)
CBAtalho.Size = New Size(150, 20)
CBAtalho.Text = atalho
CBAtalho.Name = nome
CBAtalho.Cursor = System.Windows.Forms.Cursors.Hand
CBAtalho.Font = New System.Drawing.Font("Tahoma", 9.0F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point)
Form1.Panel2.Controls.Add(CBAtalho)
End Sub
Segue a função que gera os CheckBox
Dim ini As New Ini
Dim patch As New Caminho
Dim caminho As String = patch.path
Public savepatch As New List(Of String)
Public contagem As Integer
Public Sub gerarcb()
Dim conexaoFB As FbConnection
Dim da As FbDataAdapter
Dim ds As New DataSet
Dim tb1 As CCheckbox = New CCheckbox
Dim x, y, linha, qlinha As Integer
Dim savepatch As New List(Of String)
qlinha = Int(ini.lerINI(caminho, "Quantidade de Linhas", "qlinha"))
linha = qlinha - 1
x = 2
y = Form1.CBSt.Height - 3
savepatch.Clear()
conexaoFB = New FbConnection(strCon)
conexaoFB.Open()
da = New FbDataAdapter("b", conexaoFB)
Try
da.Fill(ds, "a")
contagem = ds.Tables("a").Rows.Count - 1
For i As Integer = 0 To contagem
tb1.criarcheckbox("CB" + trim(Str(i)), ds.Tables("a").Rows(i).Item(0), x, y)
savepatch.Add(ds.Tables("a").Rows(i).Item(1))
y = y + 16
If linha = i Then
linha = linha + qlinha
x = x + 150
y = 0
End If
Next i
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Toda vez que o FOR da loop ele cria um CheckBox e atribui um nome para ele de acordo com o índice do loop ex: CB0, CB1, CB2, CB3, CB4.
Obs.:
"b" - SQL Script
"a" - Tabela
Estou utilizando o VB.NET 2010
Discussão (3)
Carregando comentários...