且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何用红色,绿色和蓝色按钮更改具有生成颜色的面板的颜色

更新时间:2023-01-27 09:00:41

设置BackGroudColor属性单击面板上的按钮.
如果单击红色按钮,则将颜色设置为红色,依此类推.
Set the BackGroudColor property of the Panel on the button click.
If Red Button is clicked set the color as Red and so on.


您需要做的就是设置BackColor.
All you''d need to do would be to set the BackColor.
private void button2_Click(object sender, EventArgs e)
{
    panel1.BackColor = Color.Yellow;
}

private void button3_Click(object sender, EventArgs e)
{
    panel1.BackColor = Color.Red;
}


如果您想通过单击按钮来更改颜色,则
将这些事件处理程序连接到每个按钮的Clicked事件.
If you want to change color with clicks on buttons then
connect these event handlers to each button''s Clicked event.
private void btnRed_Clicked(object sender, EventArgs e)
{
   panel.BackColor = Colors.Red;
}

private void btnGreen_Clicked(object sender, EventArgs e)
{
   panel.BackColor = Colors.Green;
}

private void btnBlue_Clicked(object sender, EventArgs e)
{
   panel.BackColor = Colors.Blue;
}



为了更改按钮组合的颜色,我建议将按钮替换为checkBoxes并将此事件处理程序添加到每个checkBox的Checked事件中.



In order to change color with combination of buttons I suggest to replace buttons with checkBoxes and add this event handler to each checkBox''s Checked event.

void checkBox_Checked(object sender, EventArgs e)
{
  int state = 0;
  if(btnRed.Checked)
  {
   //001
    state += 1;
  }

  if(btnGreen.Checked)
  {
    //010
    state += 2;
  }

  if(btnBlue.Checked)
  {
    //100
    state += 4;
  }
 
  switch(state)
  {
    //red
    case 1:
       panel.BackColor = Colors.Red;
       break;
    //green
    case 2:
       panel.BackColor = Colors.Green;
       break;
    //blue
    case 4:
       panel.BackColor = Colors.Red;
       break;
    //red + green
    case 3:
        //whatever you think is appropriate 
        break;
    //
    //code for other combinations goes here
    //

    default:
        panel.BackColor = SystemColors.Control;
  }
}