private void Select_Click(object sender, EventArgs e) { int num_value = id_value[listBox1.SelectedIndex]; //номер выбранного разрешенного значения int numFact = id_facts[0]; //номер факта creator.WriteLabel(numFact, num_value); //запись меток listBox2.Items.Add(textBox1.Text + " " + listBox1.SelectedItem); //добавление в историю listBox1.Items.Clear(); //очищение textBox1.Text = ""; id_facts.Clear(); id_value.Clear(); name_questions.Clear(); string answer = displayer_answer.GetAnswer(); if (answer != "") { if (!answer.Contains("*")) //если факт не содержит звездочки, то есть он целевой { MessageBox.Show(answer); } else { if (!listBox3.Items.Contains(answer)) { listBox3.Items.Add(answer); //иначе факт промежуточный. Добавляем в список, расставляем метки, опрашиваем } Get_All_Questions(); //получить отфильтрованные факты try { int numFactNext = id_facts[0]; //берет ID самого первого факта из отфильтрованных. Предыдущего факта нет textBox1.Text = name_questions[0]; AddValues(numFactNext); //выводит разрешенные значения факта } catch { CheckAnswer displayer = new CheckAnswer(); string answer1 = displayer.GetEndAnswer(); MessageBox.Show(answer1); Select.Enabled = false; } } } else { //MessageBox.Show(answer); Get_All_Questions(); //получить отфильтрованные факты try { int numFactNext = id_facts[0]; //берет ID самого первого факта из отфильтрованных. Предыдущего факта нет textBox1.Text = name_questions[0]; AddValues(numFactNext); //выводит разрешенные значения факта } catch { CheckAnswer displayer = new CheckAnswer(); string answer1 = displayer.GetEndAnswer(); MessageBox.Show(answer1); Select.Enabled = false; } } }