按下时如何更改按钮颜色?

时间:2016-09-10 11:12:53

标签: c# winforms user-interface

我在窗体上有一些按钮。例如button1,button2,button3。我想在按下时更改button1颜色,但是当我点击button2时,button1颜色变为默认颜色并且button2颜色改变。就像这样 enter image description here

4 个答案:

答案 0 :(得分:1)

使用MouseDown事件或使用FlatApparence.MouseOverDownColor

答案 1 :(得分: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;
    }

答案 2 :(得分:0)

将button1,button2,button3添加到表单中,并像这样填写此代码

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;

    }
}

答案 3 :(得分:0)

获取容器放置按钮,如组框,面板,表格等......

使用按钮单击“事件”以订阅要更改的按钮。

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;
                }
            }
        }
    }

我希望这对你有用。