Цикл через всплывающие окна - PullRequest
1 голос
/ 02 июля 2011

Я пытаюсь сделать программу викторины. У меня есть вопросы и ответы в списках, и я пытаюсь создать всплывающее окно для каждого вопроса, позволить пользователю сделать выбор, а затем перейти к следующему всплывающему вопросу.

Вот мой C #:

public partial class Test

{

Popup p = new Popup();

  public Test()

  {

    InitializeComponent();
    testvalues = GetQuestions();

    int numberofquestions;
    numberofquestions = testvalues.Count / 6;

    for (int i = 0; i < numberofquestions; i++)
    {
    runtest(i, numberofquestions);
    }
  }

  private void runtest(int questionnumber,int numberofquestions)
  {

    StackPanel testpanel = new StackPanel();
    TextBlock textblockquestion = new TextBlock();
    TextBlock textblockscore = new TextBlock();

    RadioButton buttona = new RadioButton();
    RadioButton buttonb = new RadioButton();
    RadioButton buttonc = new RadioButton();
    RadioButton buttond = new RadioButton();

.... бла-бла-бла заполнить вещи в кнопки и коробки ...

    testpanel.Children.Add(textblockscore);
    testpanel.Children.Add(textblockquestion);
    testpanel.Children.Add(buttona);
    testpanel.Children.Add(buttonb);
    testpanel.Children.Add(buttonc);
    testpanel.Children.Add(buttond);
    border.Child = testpanel;

    p.Child = border;
    p.IsOpen = true;

.... бла-бла-бла Я делаю, если тесты, чтобы увидеть, выбирают ли они кнопку, соответствуют правильному ответу или нет .... Например, у меня есть такие вещи для каждой из четырех кнопок в зависимости от моих операторов if

    (if right)
     buttonb.Click += new RoutedEventHandler(Right_Click);
     else
     buttonb.Click += new RoutedEventHandler(Wrong_Click);

  }

  void Wrong_Click(object sender, RoutedEventArgs e)
  {
    countwrong++;
    p.IsOpen = false;
  }

  void Right_Click(object sender, RoutedEventArgs e)
  {
    countright++;
    p.IsOpen = false;
  }

}

Так что сейчас программа показывает первое всплывающее окно. Я нажимаю на выбор ответа, всплывающее окно закрывается, а затем ничего. Я не понимаю, почему это не продвигается в моем цикле for в начале, чтобы создать следующее всплывающее окно. Что-то не так с организацией моего кода или это проблема синтаксиса? Нужно ли разбивать мое всплывающее окно на более мелкие шаги?

1 Ответ

0 голосов
/ 02 июля 2011

Возможно, всплывающее окно не закрывается. Вы пробовали вместо цикла открыть следующее всплывающее окно в закрытом событии текущего всплывающего окна?

Я нашел кое-что, что может помочь вам, по крайней мере, я знаю, что это не точный ответ на ваш вопрос, но это может помочь: Как закрыть всплывающее окно в silverlight?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...