【问题标题】:Making more than an event on a button在按钮上制作的不仅仅是一个事件
【发布时间】:2013-02-01 15:12:58
【问题描述】:

请,我想知道如何在一个按钮上制作两个事件,例如:当我第一次单击按钮时显示图像,而第二次单击时仍处于调试模式 显示另一个图像。有哪些方法可以做到这一点?

【问题讨论】:

  • 发布一些代码。我们需要一些可以合作的东西,或者表明你已经尝试做你要求我们回答的事情的东西。

标签: c# events button


【解决方案1】:

你可以做这样的事情:

protected void Button1Click(object sender, EventArgs e)
{
  if (Img1.Visible == false)
  {
     Img1.Visible = true;
  }
  else
  {
    Img2.Visible = true;
  }
}

【讨论】:

    【解决方案2】:

    我认为你不需要两个(或更多)事件来做你想做的事,你只需要跟踪你点击按钮的次数,例如使用实例变量。

    private int clicks = 0;
    
    
     protected void myButton_Click(object sender, EventArgs e)
     {
        if(clicks == 1)
        {
            // do something
        }
        if(clicks == 2)
        {
            // do other things
        }
        if(clicks > 2)
        {
            // something else
        }
    
        clicks++;
     }
    

    【讨论】:

      【解决方案3】:

      这样的事情怎么样:只要确保在按钮之外声明计数器

              int clickedCount = 0;
      
              private void button1_Click(object sender, EventArgs e)
              {
                  clickedCount++;
                  if (clickedCount % 2 == 0) { pictureBox1.ImageLocation = @"path"; } else { pictureBox1.ImageLocation = @"path"; }
      
      
              }
      

      【讨论】:

      • 你也可以为每次点击使用类似 if 的语句,或者使用 switch 语句 if(clickedcount == 1) if(clickedcount == 2)
      • pictureBox1.ImageLocation = (++clickedCount %2 == 0) 2 ? "path1" : "path2";
      • @paul Ah 甚至更短:) 顺便说一句,语句后面的 2 不起作用,没有它它也能正常工作:pictureBox1.ImageLocation = (++clickedCount % 2 == 0) ? “路径1”:“路径2”;
      猜你喜欢
      • 2016-04-02
      • 2014-10-22
      • 2013-05-09
      • 1970-01-01
      • 2017-04-27
      • 2015-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多