好的我还在学习这个..我有谷歌并做了一些不同的研究,但没有找到我要找的东西。这就是我想要做的。添加一个状态栏,显示当前的颜色背景。无论用户改变背景颜色的方式(上下文菜单,菜单栏,按钮),都应该更新。
我已经添加了状态栏。但是当我点击带有颜色的按钮或使用上下文菜单时,我不确定如何显示它。因此,我必须使用状态栏更改或创建公共类。
我要上传一张我需要做的事情......
如果你在底部看它说红色背景,它也会突出显示为红色。当你点击蓝色或绿色时,我需要它也可以转换。什么是最好的方法。
这是我的工具条代码:
private void toolStripButton1_Click(object sender, EventArgs e)
{
this.BackColor = System.Drawing.Color.Red;
}
private void toolStripButton2_Click(object sender, EventArgs e)
{
this.BackColor = System.Drawing.Color.Green;
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
this.BackColor = System.Drawing.Color.Blue;
}
此代码来自我的上下文菜单:
private void redToolStripMenuItem1_Click(object sender, EventArgs e)
{
this.BackColor = System.Drawing.Color.Red;
}
private void greenToolStripMenuItem1_Click(object sender, EventArgs e)
{
this.BackColor = System.Drawing.Color.Green;
}
private void blueToolStripMenuItem1_Click(object sender, EventArgs e)
{
this.BackColor = System.Drawing.Color.Blue;
}
我正试图弄清楚状态栏。
编辑我弄清楚我必须做什么。我需要返回我的表单页面并编辑工具条。感谢帮助男生和女生。
答案 0 :(得分:2)
使所有按钮使用相同的事件。然后检查发件人。如果将greenButton,blueButton等标签分配给按钮,则可以使用:
private void ColorButtons_Click(object sender, EventArgs e)
{
Control item = (Control)sender;
if(item.tag == "greenColor")
this.BackColor = Color.Green;
else if(item.tag == "blueColor")
this.BackColor = Color.Blue;
// and so on
}
答案 1 :(得分:1)
最佳解决方案是对主窗体的背景颜色变化做出反应。您可以通过处理BackColorChanged事件或覆盖主窗体类中的OnBackColorChanged受保护方法来执行此操作。
答案 2 :(得分:1)
您可以使用方法更改颜色,在此方法中,设置状态栏的文本和/或颜色。
所以不要设置(例如)
this.BackColor = System.Drawing.Color.Blue;
你打电话
this.SetColor(System.Drawing.Color.Blue);
并在SetColor(Color)
中处理文本更改。
例如,您可以使用此方法:
private void SetColor(System.Drawing.Color c)
{
this.BackColor = c;
this.toolStripStatusLabel1.Text = c.Name;
}
答案 3 :(得分:1)
尽管你现在没有使用好的方法(其他答案有更好的方法),你可以轻松修复它。由于您想要更改状态栏内控件的背景颜色,您可以在以下几个位置执行此操作:
您可以拥有一个更改接收颜色的功能,并根据该功能更改控件。在您的示例中,条形栏上的标签为红色,您已在设计器上更改它。好吧,在运行时,您可以使用代码执行相同的操作;)。标签有一个名字。只需添加如下函数:
private void ChangeColor(mycolor as System.Drawing.Color)
{
yourlabelcontrol.BackColor = mycolor;
yourlabelcontrol.Text = mycolor.Name;
}
您也可以在每次更改颜色的操作上执行此操作。
你可以有一个改变一切颜色的功能(比如这个,但是改变了颜色)