C# 如何在流程布局面板c中清除按钮颜色二次单击#
我在flow布局面板中有很多按钮。我以编程方式创建了这些按钮。 但我并没有,若点击按钮,它的颜色将是浅绿色后,第二次点击将重置颜色。我为flow layout panel编写了这个处理程序。如何执行第二次单击将清除按钮颜色:C# 如何在流程布局面板c中清除按钮颜色二次单击#,c#,button,eventhandler,flowlayoutpanel,C#,Button,Eventhandler,Flowlayoutpanel,我在flow布局面板中有很多按钮。我以编程方式创建了这些按钮。 但我并没有,若点击按钮,它的颜色将是浅绿色后,第二次点击将重置颜色。我为flow layout panel编写了这个处理程序。如何执行第二次单击将清除按钮颜色: private void Form1_Load(object sender, EventArgs e) { StringBuilder sb = new StringBuilder(); sb.Appe
private void Form1_Load(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
sb.Append( "3 x coca cola 33 cl");
sb.Append(Environment.NewLine);
sb.Append("DIN");
sb.Append("\t\t");
sb.Append("200");
//button2.Text = sb.ToString();
string products = "30000|3;3110002;Cola;400;150;100;1;1000|3;3110003;Snickers;400;150;100;1;1000|3;3110004;NesttleCrunch;400;150;100;1;1000|3;3110005;Marlbora;400;150;100;1;1000|3;3110006;Orange;400;150;100;1;1000|3;3110007;Milk;400;150;100;1;1000|3;3110008;Water;400;150;100;1;1000|3;3110009;Banana;400;150;100;1;1000|3;3110010;Honey;400;150;100;1;1000|3;3110011;Beer;400;150;100;1;1000|3;3110012;Hazelnut;400;150;100;1;1000|3;3110013;RedBull;400;150;100;1;1000|3;3110014;ChewingGum;400;150;100;1;1000|3;3110015;Apple;400;150;100;1;1000";
string[] listproducts = products.Split('|');
lblAvaliablePoint.Text = listproducts[0];
for (int i = 1; i < listproducts.Count();i++ )
{
string[] perproduct = listproducts[i].Split(';');
Button newButton = new Button();
newButton.Size = new System.Drawing.Size(170, 87);
newButton.BackColor = Color.LightGray;
newButton.UseVisualStyleBackColor = false;
newButton.Tag =perproduct[1];
newButton.Text = perproduct[0] + "x" + perproduct[2];
newButton.Click += new EventHandler(ButtonClickHandler);
flowLayoutPanel1.Controls.Add(newButton);
}
flowLayoutPanel1.VerticalScroll.Maximum = flowLayoutPanel1.Height+40;
flowLayoutPanel1.VerticalScroll.LargeChange = 30;
}
public void ButtonClickHandler(Object sender,EventArgs e)
{
((Button)sender).BackColor = Color.LightGreen;
}
private void Form1\u加载(对象发送方,事件参数e)
{
StringBuilder sb=新的StringBuilder();
sb.追加(“3倍可口可乐33毫升”);
sb.Append(Environment.NewLine);
某人附加(“DIN”);
某人追加(“\t\t”);
某人附加(“200”);
//button2.Text=sb.ToString();
字符串产品="3;3;311000;3;311000;3;311000;3;311000;3;3;1000;3;1000;3;3;1000;3;3;1000;3;3;3;3;311000;3;311000;3;311000;3;3;1000;3;3;1000;3;3;1000;3;1000;3;31;1000;3;窃贼;400;400;400;400;150;150;150;150;100;100;100;100;100;100;100;100;1;100;100;1;100;100;1;100;100;100;1000;100;100;100;100;100;100;100;100;100;100;100;100;100;100;100;150;150;150;150;150;150;150;150;150;150;150;150;150;150;150;150;150;150;150;150;150;150;150;100;100;1;1;1;1;1啤酒400;150;100;1;1000;3;3110012;榛子;400;150;100;1;1000;3;3110013;红牛;400;150;100;1;1000;3;3110014;口香糖;400;150;100;1;1000;3;3110015;苹果;400;150;100;1;1000”;
字符串[]listproducts=products.Split(“|”);
lblavalablepoint.Text=listproducts[0];
对于(int i=1;i
像这样在按钮处理程序中添加简单的if条件怎么样
public void ButtonClickHandler(object sender, EventArgs e)
{
if (((Button)sender).BackColor == Color.LightGreen)
{
((Button)sender).BackColor = Color.White; // Your default color
}
else
{
((Button)sender).BackColor = Color.LightGreen;
}
}
像这样在按钮处理程序中添加简单的if条件怎么样
public void ButtonClickHandler(object sender, EventArgs e)
{
if (((Button)sender).BackColor == Color.LightGreen)
{
((Button)sender).BackColor = Color.White; // Your default color
}
else
{
((Button)sender).BackColor = Color.LightGreen;
}
}
更改您的
按钮ClickHandler
public void ButtonClickHandler(Object sender, EventArgs e)
{
var currentButton = ((Button)sender);
if(currentButton != null)
{
currentButton.BackColor = currentButton.BackColor == Color.LightGreen ? Color.LightGray : Color.LightGreen;
}
}
更改您的
按钮ClickHandler
public void ButtonClickHandler(Object sender, EventArgs e)
{
var currentButton = ((Button)sender);
if(currentButton != null)
{
currentButton.BackColor = currentButton.BackColor == Color.LightGreen ? Color.LightGray : Color.LightGreen;
}
}
我不确定我是否理解您的问题,但我猜您正在寻找类似于
if(((按钮)发送者)。BackColor==Color.LightGreen){((按钮)发送者)。BackColor==Color.White}其他{((按钮)发送者)。BackColor==Color.LightGreen}59426