anolsi Posted March 12, 2008 Report Share Posted March 12, 2008 Existe alguma forma de saber-mos automaticamente qual é a Radio Button "marcada" em determinado momento numa GroupBox? Uma vez que só pode estar uma seleccionada... "Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."Não respondo a questões por PM que possam ser colocadas no fórum! Link to comment Share on other sites More sharing options...
jpaulino Posted March 12, 2008 Report Share Posted March 12, 2008 Não! Uma groupbox é apenas um grupo e se tiveres muitas podes é criar uma função que verifique qual a seleccionada (for each) Link to comment Share on other sites More sharing options...
anolsi Posted March 12, 2008 Author Report Share Posted March 12, 2008 Pois, isso sei. Mas o nosso stor lançou o desafio de tentar descobrir uma maneira de fazer isso. E eu já tinha procurado no MSDN e não tinha descoberto nada, mas quis ter a certeza, porque ele próprio não sabia se existia... Obrigado na mesma... 😉 "Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."Não respondo a questões por PM que possam ser colocadas no fórum! Link to comment Share on other sites More sharing options...
Weasel Posted March 13, 2008 Report Share Posted March 13, 2008 Existir existe, mas tens de previamente criar o código para isso... Por exemplo: Public rd_selecionada As String Private Sub RadioButton1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged If (RadioButton1.checked = True) Then rd_selecionada = "Rd. nº 1" End If End Sub Private Sub RadioButton2_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged If (RadioButton2.checked = True) Then rd_selecionada = "Rd. nº 2" End If End Sub Private Sub RadioButton3_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton3.CheckedChanged If (RadioButton3.checked = True) Then rd_selecionada = "Rd. nº 3" End If End Sub A qualquer altura do teu programa podes chamar a variável rd_selecionada para saber qual a Radio que está selecionada Knowledge to the masses Link to comment Share on other sites More sharing options...
jpaulino Posted March 16, 2008 Report Share Posted March 16, 2008 Weasel então e se tivesses 50 RadioButtons ? Tinhas the colocar código em todos! Isso não é uma forma nada pratica de o fazer (mas é como muita gente faz!) Link to comment Share on other sites More sharing options...
anolsi Posted March 16, 2008 Author Report Share Posted March 16, 2008 Uma solução melhor por código seria: Dim rdbclicada as New RadioButton 'Varirável global Private Sub RadioButton1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rdb1.checkedchanged, rdb2.checkedchanged, ... Dim rdb as RadioButton = ctype(sender, radiobutton) If rdb.checkedstate Then rdbclicada = rdb End Sub Private Sub btnSeguinte_click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSeguinte.click 'Fazer qualquer coisa com o rdbclicada End Sub "Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."Não respondo a questões por PM que possam ser colocadas no fórum! Link to comment Share on other sites More sharing options...
jpaulino Posted March 16, 2008 Report Share Posted March 16, 2008 Uma solução melhor por código seria: Sim é verdade mas aí se adicionares outra rariobutton tens de acrescentar e ainda tens de usar variáveis. Uma solução mais trabalhada e versátil pode ser assim: Private Function GetSelection() As String For Each ctrl As Control In GroupBox1.Controls If TypeOf ctrl Is RadioButton Then If CType(ctrl, RadioButton).Checked Then Return CType(ctrl, RadioButton).Text End If End If Next Return String.Empty End Function Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Debug.Print(GetSelection) End Sub Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now