• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wybór części danych z tablicy - radiobutton

Object Storage Arubacloud
+1 głos
87 wizyt
pytanie zadane 18 stycznia w C# przez Mati336 Użytkownik (560 p.)

Witam Mam tablicę i pętle for i dane są wrzucane do comboBox i jest ok. Lecz potrzebuje teraz zrobić co innego. Tablica jest 6 elementowa. Chcę zrobić tak że jak kliknę radiobutton1 to mam w combobox do wyboru:Opcja1, Opcja2, Opcja3, a gdy kliknę radiobutton2 to mam do wyboru w comboBox: Opcja4, Opcja5, Opcja6. Zrobiłem if'a ale coś nie działa bo nic nie mogę wybrać.

public void wybor()
        {
            comboBox1.Text = "wybierz opcje";

            string[] array = new string[6];
            array[0] = "Opcja 1";
            array[1] = "Opcja 2";
            array[2] = "Opcja 3";
            array[3] = "Opcja 4";
            array[4] = "Opcja 5";
            array[5] = "Opcja 6";

            if (radioButton1.Checked) 
            {
                    for (int i = 0; i < 3; i++)
                    {
                    comboBox1.Items.Add(array[i]);
                    }
            }

            else if (radioButton2.Checked)
            {
                for (int i = 3; i < 6; i++)
                {
                    comboBox1.Items.Add(array[i]);
                }
            }
           
        }

jak to można zmienić żeby działało?

1 odpowiedź

0 głosów
odpowiedź 18 stycznia przez VBService Ekspert (253,420 p.)
edycja 18 stycznia przez VBService

Dodaj np. comboBox1.Items.Clear();

public void wybor()
        {
            comboBox1.Text = "wybierz opcje";
 
            string[] array = new string[6];
            array[0] = "Opcja 1";
            array[1] = "Opcja 2";
            array[2] = "Opcja 3";
            array[3] = "Opcja 4";
            array[4] = "Opcja 5";
            array[5] = "Opcja 6";

            comboBox1.Items.Clear();
 
            if (radioButton1.Checked) 
            {
                    for (int i = 0; i < 3; i++)
                    {
                    comboBox1.Items.Add(array[i]);
                    }
            }
 
            else if (radioButton2.Checked)
            {
                for (int i = 3; i < 6; i++)
                {
                    comboBox1.Items.Add(array[i]);
                }
            }
            
        }

 

BTW

int min = 0, max = 0;
if (radioButton1.Checked)
{
    min = 0; max = 3;
}
else if (radioButton2.Checked)
{
    min = 3; max = 6;
}

for (int i = min; i < max; i++)
{
    comboBox1.Items.Add(array[i]);
}

 

komentarz 18 stycznia przez Mati336 Użytkownik (560 p.)

Dzięki, ale próbowałem jedno i drugie i nadal jest coś nie tak bo nic się w combobox nie pojawia.

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            wybierz();
        }

        void wybierz()
        {
            comboBox1.Text = "wybierz opcje";

            string[] array = new string[6];
            array[0] = "Opcja 1";
            array[1] = "Opcja 2";
            array[2] = "Opcja 3";
            array[3] = "Opcja 4";
            array[4] = "Opcja 5";
            array[5] = "Opcja 6";

            comboBox1.Items.Clear();

            int min = 0, max = 0;
            if (radioButton1.Checked)
            {
                min = 0; max = 3;
            }
            else if (radioButton2.Checked)
            {
                min = 3; max = 6;
            }

            for (int i = min; i < max; i++)
            {
                comboBox1.Items.Add(array[i]);
            }
        }

    }

 

komentarz 18 stycznia przez VBService Ekspert (253,420 p.)
edycja 19 stycznia przez VBService

A przy jakim zdarzeniu ma się pojawić, jak klikasz w jakiś button?

Czy w momencie klikania w wybrany radioButton?

komentarz 19 stycznia przez Mati336 Użytkownik (560 p.)

W momencie klikania w wybrany radioButton

komentarz 19 stycznia przez Mati336 Użytkownik (560 p.)
OK, dzięki  VBService działa. Trzeba było kod wrzucić do:

private void radioButton1_CheckedChanged(object sender, EventArgs e)

:)

Podobne pytania

+1 głos
0 odpowiedzi 67 wizyt
pytanie zadane 21 marca w C# przez Mati336 Użytkownik (560 p.)
0 głosów
1 odpowiedź 702 wizyt
pytanie zadane 24 maja 2017 w Java przez Ring Początkujący (330 p.)
0 głosów
0 odpowiedzi 148 wizyt
pytanie zadane 14 lutego 2017 w Java przez Kubs Mądrala (5,190 p.)

92,584 zapytań

141,434 odpowiedzi

319,671 komentarzy

61,968 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...