C# 更改“单击按钮”事件的背景色会导致更改悬停颜色
有一个问题,我有一套按钮,应该像标签按钮的行为。我首先将所有按钮的背景色更改为正确的颜色,然后将单击的按钮的背景色更改为更亮的颜色 编辑:Tab pressed是分配给每个按钮(即btnFile、btnEdit、btnView、btnDocket、BTNWidget和btnHelp)的单击事件的方法 EDIT2:为了澄清,这些不是作为选项卡控件一部分的实际选项卡按钮。它们是工具箱中的常规按钮C# 更改“单击按钮”事件的背景色会导致更改悬停颜色,c#,button,click,backcolor,C#,Button,Click,Backcolor,有一个问题,我有一套按钮,应该像标签按钮的行为。我首先将所有按钮的背景色更改为正确的颜色,然后将单击的按钮的背景色更改为更亮的颜色 编辑:Tab pressed是分配给每个按钮(即btnFile、btnEdit、btnView、btnDocket、BTNWidget和btnHelp)的单击事件的方法 EDIT2:为了澄清,这些不是作为选项卡控件一部分的实际选项卡按钮。它们是工具箱中的常规按钮 private void tabPressed(object sender, EventArgs e)
private void tabPressed(object sender, EventArgs e)
{
Button tabButton = (Button)sender;
btnFile.BackColor = btnEdit.BackColor = btnView.BackColor = btnDocket.BackColor =
btnWidgets.BackColor = btnHelp.BackColor = Color.FromArgb(1, 26, 29, 42);
Console.WriteLine(tabButton.Text);
switch(tabButton.Text)
{
case "File":
btnFile.BackColor = Color.FromArgb(1, 39, 43, 62);
break;
case "Edit":
btnEdit.BackColor = Color.FromArgb(1, 39, 43, 62);
break;
case "View":
btnView.BackColor = Color.FromArgb(1, 39, 43, 62);
break;
case "Docket":
btnDocket.BackColor = Color.FromArgb(1, 39, 43, 62);
break;
case "Widgets":
btnWidgets.BackColor = Color.FromArgb(1, 39, 43, 62);
break;
case "Help":
btnHelp.BackColor = Color.FromArgb(1, 39, 43, 62);
break;
default:
break;
}
}
但是,完成此操作后,似乎只有单击按钮的悬停颜色会更改,而其他按钮的悬停颜色通常是彩色的
我不确定是什么原因造成的。我想这可能是因为只有悬停事件的背景色才被更改,因为背景色更改时它处于悬停“状态”,但我不确定。实际上您编写的代码与单击或悬停事件没有任何关系,重要的是哪个事件
tabPressed
方法处理
您可以在设计时单击按钮并选择其事件,并确保为单击事件选择了tabPressed
要在运行时以编程方式执行此操作,请执行以下操作:
btnFile.Click += tabPressed;
还请注意,您不需要开关盒,只需将其应用于事件的发送者(单击的按钮):
对不起,我应该补充更多的信息。Tab pressed是我创建的一个函数,它被分配给每个按钮,即btnFile、btnEdit、btnView、btnDocket、BTNWidget和btnHelp@user3864563是的,我明白了,我说确保你已经把它分配给了他们的点击事件,只要再检查一下。这个方法被分配给了每个按钮的点击事件,是的
private void tabPressed(object sender, EventArgs e)
{
//your color rest codes here
Button tabButton = (Button)sender;
tabButton.BackColor = Color.FromArgb(1, 39, 43, 62);
}