0

因此,在我非常小的程序中,我正在生成一个随机百分比,并根据该百分比显示两个面板之一。但是,它只显示一个。

这是我的代码:

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; 
    }
4

1 回答 1

2

我认为这里发生的事情是在 TrialTimer_Tick 方法中将 ITIPanel.Visible 设置为 true 不会导致 ITIPanel 重新绘制,因此 ITITimer 永远不会重新启动。

您可以在 ITITimer_Click 方法中放置一个断点,并查看它是否在第一次调用后再次被调用。

于 2012-05-02T18:33:41.893 回答