2017-05-11 7 views
0

私のフォームにはたくさんのボタンがあります。そして、私はそれを上にマウスが良いアイデアのように思えるときに太字にボタンと色とフォントを変更するので、より良いようにしたいと思います。私は任意の助けをいただければ幸いです
button.BackColor = Color.Cyan; button.Font = new Font(button.Font.Name, button.Font.Size, FontStyle.Bold);すべてのボタンにマウス・ホバーを設定するにはどうすればいいですか?

EDIT:これは私のために働いている :

private void button1_MouseEnter(object sender, EventArgs e) 
    { 
     ((Button)sender).BackColor = Color.PaleTurquoise; 
     ((Button)sender).Font = new Font(((Button)sender).Font.Name, ((Button)sender).Font.Size, FontStyle.Bold); 
    } 

    private void button1_MouseLeave(object sender, EventArgs e) 
    { 
     ((Button)sender).BackColor = Color.WhiteSmoke; 
     ((Button)sender).Font = new Font(((Button)sender).Font.Name, ((Button)sender).Font.Size, FontStyle.Regular); 
    } 

(button1_mousenter(またはmouseleave)

答えて

0

だけですべてのボタンのアクションとして設定され、それらすべてを選択がありますフォームビューでmousehoverイベントに行きます。 を入力し、コードを次のように記述します。

private void button_mousehover (object sender, EventArgs e) 
    { 
     ((Button)sender).BackColor = Color.Cyan; 
     ((Button)sender).Font = new Font(((Button)sender).Font.Name, ((Button)sender).Font.Size, ((Button)sender).FontStyle.Bold; 
    } 
+0

それが私の悪い申し訳ありませんJaroslavNejedlý@(すべてのボタン用)エラー –

+0

を言います。私はコードを編集し、今は正常に動作するはずです。 –

+0

ありがとうございます。軽微な誤りがあります。 Insted((Button)sender).BoldにはFontStyle.Boldだけがあります。それは今働いています –

0

MouseEnterイベントとMouseLeaveイベントをボタンに追加して、ボタンの色を変更することができます。

https://msdn.microsoft.com/en-us/library/system.windows.forms.control.mouseenter(v=vs.110).aspx

https://msdn.microsoft.com/en-us/library/system.windows.forms.control.mouseleave(v=vs.110).aspx

// bind handler to MouseEnter Event 
this.yourButton1.MouseEnter += new System.EventHandler(this.allButtons_MouseEnter); 

this.yourButton2.MouseEnter += new System.EventHandler(this.allButtons_MouseEnter); 

// bind handler to MouseLeave Event 
this.yourButton1.MouseLeave += new System.EventHandler(this.allButtons_MouseLeave); 

this.yourButton2.MouseLeave += new System.EventHandler(this.allButtons_MouseLeave); 

// enter handler 
private void allButtons_MouseEnter(object sender, System.EventArgs e) 
{ 
    Button btn = (Button)sender; 
    btn.BackColor = Color.Cyan; 
    btn.Font = new Font(btn.Font.Name, btn.Font.Size, FontStyle.Bold); 
} 

// leave handler 
private void allButtons_MouseLeave(object sender, System.EventArgs e) 
{ 
    Button btn = (Button)sender; 
    btn.BackColor = Color.DeepPink; // whatever your original color was 
    btn.Font = new Font(btn.Font.Name, btn.Font.Size, FontStyle.Regular); 
} 
関連する問題