[C#] RadioButton checked / unchecked - zmiana stanu

0

Witam,

Męczy mnie pewna rzecz.

Każdy zna właściwości radioButton'a:
-można go zaznaczyć i odblokować jedynie wywołując zewnętrzną funkcję, ale...

Sytuacja wygląda tak:

Mamy powiedzmy na formie w groupBox'ie dwa radioButton'y. Klikam na pierwszy i zostaje on zaznaczony. Dalej wiadoma sprawa, klikam na drugi, zostaje odznaczony pierwszy i zaznaczony drugi - proste.
Ale jak zrobić, żeby po kliknięciu na pierwszy, został on zaznaczony i po kolejnym kliknieciu (znów na pierwszy) został odznaczony (odkliknięty/unchecked/checked - false).

Może jest to kwestia zmęczenia, ale nie mogę tego przebrnąć.

Proszę o pomoc. Jezeli jesteście pewni, że nie da się tego zrobić, prosze o takie info, będę wtedy przerzucał się na checkBox'y.

Jeszcze jaśniej:
"Chciałbym, żeby radiobutton miał podobne właściwości do checkbox'a - czyli, żeby można go było odznaczyć
Pozdrawiam

0

Nie jestem pewien czy o to chodzi ;-P , ale ja bym dodał wydarzenie Click do RadioButtona i jeżeli jest zaznaczony, to go odznaczyć i zaznaczyć drugi.

0

Można, ale nie o to mi chodzi.

Powiedzmy, że jestesmy cały czas w opisanej przeze mnie powyżej formie, groupVBox'cie i radioButtonach.

Gdybym zrobił, tak jak mówisz, to zaznaczy mi się drugi radiobutton, ale ja chce, żeby po kliknięciu po raz drugi na tego pierwszego radioButton'a wszystkie były odznaczone.

0

?
Wronq dobrze mówi.
masz np dwa radiobuttony/checkboxy.
click na pierwszego, sprawdzasz czy jest on zaznaczony, jezeli tak, odznaczasz. Drugi na false;
click na drugiego,sprawdzasz czy jest on zaznaczony, jezeli tak, odznaczasz. Pierwszy na false.
i w ten sposob nie zrobi Ci się pętla nieskończona jak w zdarzeniu checkedchanged

0

ehhh,

no spoko, tylko, że wtedy nie jestem w stanie zanaczyć tego radiobuttona, będzie on cały czas odznaczony.
Gdyby problem był takie prosty, to bym się nie pytał.

Pozdrawiam

0

Faktycznie :)
Edit: Sorry, ale już dzisiaj nie kontaktuje.

        bool rb1_selected = false;
        bool rb2_selected = false;
        private void radioButton1_Click(object sender, EventArgs e)
        {
            if (rb1_selected == false)
            {
                rb1_selected = true;
            }
            else
            {
                radioButton1.Checked = false;
                rb1_selected = false;
            }
        }

        private void radioButton2_Click(object sender, EventArgs e)
        {
            if (rb2_selected == false)
            {
                rb2_selected = true;
            }
            else
            {
                radioButton2.Checked = false;
                rb2_selected = false;
            }
        }

cos takiego. Ale imo lepiej uzyj checkboxów

0

Ma to sens:),

jest mały bug, ale już więc jak to poprawić.
Dzięki za pomoc i pozdrawiam!

1 użytkowników online, w tym zalogowanych: 0, gości: 1