Ir para conteúdo
Fórum Script Brasil
  • 0

Checkbox


mestre fyoda

Pergunta

17 respostass a esta questão

Posts Recomendados

  • 0

que linguagem você usa??

to meio enferrujado, mas o esquema acho que é você fazer um for each de todos os controle no formulario. tipo (esqueci a sintaxe mas deve ser isso):

Control x;

foreach (x in this.Controls)
{
     if (x.GetType().ToString() == "CheckBox (Poe o nome intero aqui!!!)")
     {
            -- AQUI você TESTA SE está CHECADO
     }
}[/code]

Link para o comentário
Compartilhar em outros sites

  • 0

No module

Public Sub acesso(ByVal bloquear As String, ByVal Form As Form)
        Dim ch As New CheckBox
        For Each x As Control In Form.Controls
            If TypeOf x Is CheckBox Then
                MessageBox.Show("2")
                If ch.Checked = True Then
                    MessageBox.Show("Teste checkbox selecionada")
                End If
            End If
        Next x
    End Sub

chamando no Form

acesso("incluir_itens,deletar_itens", Me)

não esta entrando no if do type , mandei imprimir depois do foreach x.text aparece em branco , porque ?

Link para o comentário
Compartilhar em outros sites

  • 0

No module

Public Sub acesso(ByVal bloquear As String, ByVal Form As Form)
        Dim ch As New CheckBox
        For Each x As Control In Form.Controls
            If TypeOf x Is CheckBox Then
                MessageBox.Show("2")
                If ch.Checked = True Then
                    MessageBox.Show("Teste checkbox selecionada")
                End If
            End If
        Next x
    End Sub

chamando no Form

acesso("incluir_itens,deletar_itens", Me)

aonde eu chamo a função, esta no evento onclick no botão que está dentro do tabcontrol !.

Mas de qualquer forma alterei o "ME" para o nome do TABCONTROL (Funcionario ) e tambem tentei com o nome do TABPAGE ( Configuração) e não mudou nada !

Link para o comentário
Compartilhar em outros sites

  • 0

Faça a rotina ser recursiva:

Public Sub acesso(ByVal bloquear As String, ByVal Obj As Object)
        For Each x As Control In Obj.Controls
            Select Case x.GetType().Name
                Case "TabControl", "TabPage"
                    acesso(bloquear, x)
                Case "CheckBox"
                    Dim chk As CheckBox = x
                    MessageBox.Show(chk.Name & " = " & chk.Checked.ToString())
            End Select
        Next x
    End Sub
Daí você poderá fazer (no form):
acesso("incluir_itens,deletar_itens", Me)

Certo? ;)

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
o que o GetType() faz ?

GetType() retorna um objeto que representa o tipo do objeto (Type).

Case "TabControl", "TabPage"
                    acesso(bloquear, x)

o que esse codigo acima ele vai fazer ?

Caso o tipo seja "TabControl" ou "TabPage", a própria função será chamada passando agora o referido objeto. Isso é uma função recursiva, ou seja, ela chama a si própria.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
desculpa como sempre ficar enchendo o saco :)

Hehehe... não precisa se desculpar! E não, você não está enchendo o saco. Dúvidas devem ser respondidas. Aliás, esta sua dúvida é muito pertinente.

quando usar o Object ?

No caso, Object é o tipo "pai-de-todos". Ou seja, todos os demais tipos (referência) derivam de Object. Por isso, e pela regra de polimorfismo, um objeto do tipo filho pode ser referenciado por um objeto do tipo pai. No caso em questão, Obj poderá ser um Form, um TabControl ou uma TabPage. Então, você não pode definir o tipo como Form, se não vai dar erro quando você tentar passar um TabControl ou uma TabPage. E o mesmo vale para estes dois. Agora, se você declara como um tipo que pode referenciar qualquer um deles, que foi o caso, será válido passar um Form, um TabControl ou uma TabPage. Ah, e no caso em questão, no lugar de Object poderia ser Control. Isso porque todos os três na verdade são herança direta de Control.

Capisce? ;)

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

o link com a imagem que esta em um dos topicos anterios , como mostra , esta selecionado alguns checkbox mas na hora de mostar os selecionados mostra na forma desornedada.

Por exemplo eu queria que mostrace todos os checkboxs selecionados na coluna Itens , depois da proxima coluna e assim por diante , teria como ?

Link para o comentário
Compartilhar em outros sites

  • 0
o link com a imagem que esta em um dos topicos anterios , como mostra , esta selecionado alguns checkbox mas na hora de mostar os selecionados mostra na forma desornedada.

Por exemplo eu queria que mostrace todos os checkboxs selecionados na coluna Itens , depois da proxima coluna e assim por diante , teria como ?

Realmente, a coleção Controls não retorna os controles em ordem. Também tive esse problema recentemente. A solução, no caso, foi usar o método GetNextControl() do form para obter os controles na ordem de tabulação (TabIndex).

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...