循环浏览弹出窗口
本文关键字:窗口 浏览 循环 | 更新日期: 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中关闭弹出窗口?