2014-04-22 66 views
0

我有按鈕的網格,可以用獲取按鈕來改變背景顏色,當鼠標左鍵向下,你將鼠標懸停在他們

private void button119_MouseClick(object sender, MouseEventArgs e) 
    { 
     Control ctrl = ((Control)sender); 
     switch (ctrl.BackColor.Name) 
     { 
      case "Aquamarine": 
       ctrl.BackColor = Color.Yellow; 
       break; 
      case "Yellow": 
       ctrl.BackColor = Color.CornflowerBlue; 
       break; 
      case "CornflowerBlue": 
       ctrl.BackColor = Color.Gainsboro; 
       break; 
      default: 
       ctrl.BackColor = Color.Aquamarine; 
       break; 
     } 

我只需要得到改變顏色點擊旋轉時,通過3種顏色他們做同樣的事情,當我離開鼠標點擊並懸停在他們身上。謝謝你的幫助。

+0

你是什麼意思的點擊和懸停?你想讓按鈕在鼠標懸停在其上並按下鼠標時保持顏色不斷變化?如何在指示WPF或WinForms的問題中添加標籤? –

+1

我想你應該實現MouseHover事件。很難看到它如何有用。 –

回答

0

使用MouseHover事件和Control.MouseButtons靜態屬性。 我會做這樣的事情:

private void button119_MouseClick(object sender, MouseEventArgs e) 
    { 
     ChangeColor(sender as Control); 
    } 

private void button119_MouseHover(object sender, EventArgs e) 
    { 
     if (Control.MouseButtons == System.Windows.Forms.MouseButtons.Left) 
     { 
      ChangeColor(sender as Control); 
     } 
    } 

private void ChangeColor(Control ctrl) 
    { 
     switch (ctrl.BackColor.Name) 
     { 
     case "Aquamarine": 
      ctrl.BackColor = Color.Yellow; 
      break; 
     case "Yellow": 
      ctrl.BackColor = Color.CornflowerBlue; 
      break; 
     case "CornflowerBlue": 
      ctrl.BackColor = Color.Gainsboro; 
      break; 
     default: 
      ctrl.BackColor = Color.Aquamarine; 
      break; 
     } 
    } 
+0

好的,謝謝你的幫助。更具體地說,我想按鈕來改變顏色,當我點擊它們,當我按住鼠標左鍵並滾動它們時,它們應該改變顏色一次。 – user3513239

0

你也可以做到這一點的jQuery

$(document).ready(function() { 
     $(".forum").mouseover(function() { 
      var colorOrig = $(".forum").css('background-color'); 
      if ($(".forum").css('background-color') == "rgb(127, 255, 212)") { 

       $(".forum").css("background-color", "yellow"); 
      } else if ($(".forum").css('background-color') == "rgb(255, 255, 0)") { 
       $(".forum").css("background-color", "CornflowerBlue"); 

      } else if ($(".forum").css('background-color') == "rgb(100, 149, 237)") { 
       $(".forum").css("background-color", "Gainsboro"); 


      } else if ($(".forum").css('background-color') == "rgb(220, 220, 220)") { 
       $(".forum").css("background-color", "Aquamarine"); 
      } 
     }); 
相關問題