因此,在我非常小的程序中,我生成一个随机百分比,并根据该百分比显示它应该显示两个面板中的一个。但是,它只会显示一个。
这是我的代码:
Random random = new Random();
private void button1_Click(object sender, EventArgs e)
{
bool button1Clicked = true;
if (button1Clicked == true) { ITIpanel.Visible = true; }
}
private void ITIpanel_Paint(object sender, PaintEventArgs e)
{
ITItimer.Enabled = true;
}
private void ITItimer_Tick(object sender, EventArgs e)
{
double rand = random.NextDouble();
if (rand <= .50) { bluestimPanel.Visible = true; }
if (rand >= .50) { redstimPanel.Visible = true; }
ITItimer.Enabled = false;
}
private void bluestimPanel_Paint(object sender, PaintEventArgs e)
{
Trialtimer.Enabled = true;
}
private void redstimPanel_Paint(object sender, PaintEventArgs e)
{
Trialtimer.Enabled = true;
}
private void Trialtimer_Tick(object sender, EventArgs e)
{
bluestimPanel.Visible = false;
redstimPanel.Visible = false;
Trialtimer.Enabled = false;
ITIpanel.Visible = true;
}
答案 0 :(得分:2)
我认为这里发生的事情是,在TrialTimer_Tick方法设置中,ITIPanel.Visible为true不会导致ITIPanel重新绘制,因此ITITimer永远不会重新启动。
您可以在ITITimer_Click方法中放置一个断点,看看是否在第一次调用后再次调用它。