Problémy s hide/show u panelů   zodpovězená otázka

VB.NET

Dobrý den,

mohl byste mi prosím někdo vystvětlit proč níže uvedený kód funguje, při kliknutí na RadioButton1 a přikliknutí na RadionButton2 již nefunguje?

Panel2.hide()
Panel3.hide()
Panel4.hide()
Panel1.show()

Na formuláři je celkem 8 radiobuttonů, kterými se takto přepíná, který panel bude aktivní. S žádným jiným panelem kromě prvního není problém - napadají mě dvě možné souvislosti:

1) Panel1 je definován v designeru, ostatní ne

2) Každý RadioButton, zobrazuje jiný panel, jen právě panel1 je zobrazován třemi různými radiobuttony (RB1, RB2, RB3)

Děkuji za reakce

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ještě doplním:

Ať je aktivován kterýkoli panel, tak při klepnutí na RB1 se panel1 zobrazí, ale při kliknutí na RB2 či RB3 (které dělají to samé) se nezobrzazí. Pokud ale klinu nejdřív na RB2 (nic se nezobrazí) a pak na RB3, tak se panel1 zobrazí. Stejně tak naopak: RB3 (nic), RB2 (ukáže se panel1)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tipuju že používáte událost CheckedChanged a chyba bude v tom že netestujete zda je vlastnost Checked True nebo False. To má za následek to, že se kód spustí pro oba radioButtony u kterých se mění stav.

Přidejte do kódu podmínku kde budete tuto vlastnost testova:

Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
       

   If RadioButton1.Checked= True Then
      'Váš kód pro přepínání panelů
   End If

End Sub


Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged
       

   If RadioButton2.Checked= True Then
      'Váš kód pro přepínání panelů
   End If

End Sub

'atd pro všechny radiobuttony

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zkusil jsem, bohužel to nepomohlo.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Mám to. Problém byl v pořadí u události při kliknutí na RB2 a RB3 stačilo dát panel1.show() a pak teprve ostatní panely hide na první řádek a fungujete to.

Nic méně pořád nechápu to, proč u ostatních radiobuttonů/panelů to tak být nemusí...

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback