Combobox & tabPage - problem

0

Witam Wszystkich :-)

Mam mały problem do rozwiązania :-/ Moje zapytanie dotyczy jak mogę zdefiniować następującą zależność? Chodzi o to, że mam 10 zakładek. Na pierwszej z nich (tabPage1) są trzy comboboxy (combobox1, combobox2, combobox3). Chciałbym aby wybierając pozycję pierwszą w combobox1 i po naciśnieciu button1(który jest również na pierwszej zakładce) program przeskoczył do zakładki 2 (tabPage2). Wybierając pozycję numer dwa w combobox1 i po wciśnięciu button1 program przeskoczył do trzeciej zakładki (tabPage3). Wybierając pozycję numer trzy w combobox1 i po wciśnięciu button1 program przeskoczył do czwartej zakładki (tabPage4). Podobnie po wybraniu pozycji nr 1 w combobox2 i wciśnięciu button1 program powinien przejść do zakładki nr 5 (tabPage5) itd... Występują 3 pozycje we wszystkich trzech comboboxach,więc wybierając na koniec trzecią pozycją w combobox3 i wciskając button1 program powinien przeskoczyć do 10 zakładki (tabPage10)

Z góry dziekuję za wszelaką pomoc :-)

Pozdrawiam,
batiaszka

0

A gdzie ma program przeskoczyć jeśli wybierzesz item w więcej niż jednym combobox (np. w Combobox1 pozycję 2 i w Combobox2 pozycję 1)?

0

Nie dojdzie do takiej sytuacji bo w danym momencie będzie aktywny tylko jeden z comboboxów, bo każdemu z nich odpowiada radioButton i właczajac radiobatton1 uaktywniam combobox1, włączając radiobatton2 uaktywnia się cobobox2 i tak samo combobox3 uaktywnia się gdy zaznaczymy radiobutton3. W danym momecie może być zaznaczony jeden radiobutton, gdyż zaznaczając kolejny w poprzednim znika zaznaczenie

0

Możesz to zrobić np tak:

private void Form1_Load(object sender, EventArgs e)
        {
            comboBox1.Items.Add("Go to tabPage2");
            comboBox1.Items.Add("Go to tabPage3");
            comboBox1.Items.Add("Go to tabPage4");
            comboBox1.SelectedIndex = 0;
            comboBox1.Enabled = false;
            
            comboBox2.Items.Add("Go to tabPage5");
            comboBox2.Items.Add("Go to tabPage6");
            comboBox2.Items.Add("Go to tabPage7");
            comboBox2.SelectedIndex = 0;
            comboBox2.Enabled = false;

            comboBox3.Items.Add("Go to tabPage8");
            comboBox3.Items.Add("Go to tabPage9");
            comboBox3.Items.Add("Go to tabPage10");
            comboBox3.SelectedIndex = 0;
            comboBox3.Enabled = false;
        }

        private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton1.Checked)
            {
                comboBox1.Enabled = true;
            }
            else
            {
                comboBox1.Enabled = false;
            }
        }

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

        private void radioButton3_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton3.Checked)
            {
                comboBox3.Enabled = true;
            }
            else
            {
                comboBox3.Enabled = false;
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (comboBox1.Enabled)
            {
                switch (comboBox1.SelectedIndex)
                {
                    case 0:
                        tabControl1.SelectedIndex = 1;
                        break;
                    case 1:
                        tabControl1.SelectedIndex = 2;
                        break;
                    case 2:
                        tabControl1.SelectedIndex = 3;
                        break;
                }
            }

            if (comboBox2.Enabled)
            {
                switch (comboBox2.SelectedIndex)
                {
                    case 0:
                        tabControl1.SelectedIndex = 4;
                        break;
                    case 1:
                        tabControl1.SelectedIndex = 5;
                        break;
                    case 2:
                        tabControl1.SelectedIndex = 6;
                        break;
                }
            }

            if (comboBox3.Enabled)
            {
                switch (comboBox3.SelectedIndex)
                {
                    case 0:
                        tabControl1.SelectedIndex = 7;
                        break;
                    case 1:
                        tabControl1.SelectedIndex = 8;
                        break;
                    case 2:
                        tabControl1.SelectedIndex = 9;
                        break;
                }
            }
        }
0

Mozna troche krocej:

//gdzies w konstruktorze radioButton1.Tag = checkBox1; radioButton2.Tag = checkBox2; radioButton3.Tag = checkBox3;

//jedno zdarzenie do obslugi wszystkich radio
private void radioButton_CheckedChanged(object sender, EventArgs e)
{
((CheckBox)(sender.Tag)) = ((RadioButton)sender).Checked;
}

  private void button1_Click(object sender, EventArgs e)
    {
        int vIndex = 0;
        ComboBox combo;
        for(int i =1; i <= 3; i++)
          if(Controls["comboBox"+i] is ComboBox)
           if((combo = ((ComboBox)Controls["comboBox"+i])).Enabled)
           {
              tabControl1.SelectedIndex = combo.SelectedIndex + 1 + (i-1)*3;
              return;
           }
     }

Pisane z palca, ale powinno dzialac :)
0

Pięknie dziękuję :-)

Wszystko gra [!!!]

Pozdrawiam,
batiaszka

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