2014-04-22 1 views
0

I 버튼의 격자가가,가 다운 당신은 회전 클릭 할 때

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"); 
      } 
     }); 
관련 문제