2016-09-10 28 views
-3

I form.For例のボタン1にいくつかのボタンがあり、ボタン2、button3.Iは、それが押されている間Button1の色を変更したいのですが、できるだけ早く私はボタン2をクリックすると、ボタン1色になるデフォルトとbutton2をカラーchanged.Likeこの enter image description hereボタンを押したままボタンの色を変更する方法は?

+0

あなたはとても太ったようにしてください。 SOは無料コード提供サービスではありません。 –

+0

リストされたすべてのボタンのクリックハンドラのコードを投稿します。 – Nikita

答えて

1

MouseDownイベントを使用するか、FlatApparence.MouseOverDownColorを使用してください。

0

このコードを試してみてください。

private void button1_Click(object sender, EventArgs e) 
    { 
     button1.BackColor = Color.Red; 
     button2.BackColor = Control.DefaultBackColor; 
     button3.BackColor = Control.DefaultBackColor; 
    } 

    private void button2_Click(object sender, EventArgs e) 
    { 
     button2.BackColor = Color.Red; 
     button1.BackColor = Control.DefaultBackColor; 
     button3.BackColor = Control.DefaultBackColor; 
    } 

    private void button3_Click(object sender, EventArgs e) 
    { 
     button3.BackColor = Color.Red; 
     button2.BackColor = Control.DefaultBackColor; 
     button1.BackColor = Control.DefaultBackColor; 
    } 
0

この

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 



    private void button1_Click(object sender, EventArgs e) 
    { 
     button1.BackColor = Color.Red; 
     button2.BackColor = Control.DefaultBackColor; 
     button3.BackColor = Control.DefaultBackColor; 
    } 

    private void button2_Click(object sender, EventArgs e) 
    { 
     button2.BackColor = Color.Red; 
     button1.BackColor = Control.DefaultBackColor; 
     button3.BackColor = Control.DefaultBackColor; 
    } 

    private void button3_Click(object sender, EventArgs e) 
    { 
     button3.BackColor = Color.Red; 
     button2.BackColor = Control.DefaultBackColor; 
     button1.BackColor = Control.DefaultBackColor; 

    } 
} 
+1

私は同じ回答バディを投稿しました! – RajeeshMenoth

+0

私は前にこのようにしようとしましたが、あまりにも多くのコードがあり、私が望むように動作しません。 –

0

のようなフォームとrepleceにこのコードをボタン1、ボタン2、ボタン3を追加し、それがグループボックス、パネルのようなボタンを配置コンテナを取得し、フォームなど...

ボタンをクリックして、変更するボタンを登録します。

private void button_Click(object sender, EventArgs e) 
{ 
    Button button1=Sender as Button; 
    if(button1 != null) 
    setcolor(this,button1); 
} 
private static void setcolor(Control Container,Button btnFocus) 
    { 
     btnFocus.BackColor = Color.Red; 
     foreach (Control Btn in Container.Controls) 
     { 
      if (Btn is Button) 
      { 

       if (btnFocus != Btn) 
       { 
        Btn.BackColor = Control.DefaultBackColor; 
       } 
      } 
     } 
    } 

私はこれが役に立ちます。

+0

まったくありません。このようにしたいですか?http://youtu.be/_6bD-Dlf1RA?hd=1 –

関連する問題