循环浏览弹出窗口

本文关键字:窗口 浏览 循环 | 更新日期: 2023-09-27 18:01:00

我正在尝试制作一个智力竞赛程序。我已经在列表中找到了问题和答案,并试图为每个问题创建一个弹出框,让用户做出选择,然后进入下一个弹出问题。

这是我的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循环中前进,以创建下一个弹出框。我的代码组织是否有问题,或者是语法问题?我需要把弹出窗口分解成更小的步骤吗?

循环浏览弹出窗口

弹出菜单可能实际上没有关闭。您是否尝试过在当前弹出窗口的关闭事件中打开下一个弹出窗口,而不是循环?

我发现了一些可以帮助你的东西,至少,我知道这不是你问题的确切答案,但它可能会有所帮助:如何在silverlight中关闭弹出窗口?