【问题标题】:Change the border color of a label on user selection在用户选择时更改标签的边框颜色
【发布时间】:2014-02-10 19:24:01
【问题描述】:

当用户选择他想要的颜色时,我想更改标签的边框颜色。我知道标签的绘制事件可以改变边框颜色。我只想要这段代码:

private void label1_Paint(object sender, PaintEventArgs e)
{
    ControlPaint.DrawBorder(e.Graphics, label1.DisplayRectangle, Color.Blue, ButtonBorderStyle.Solid);
}

继续工作:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
      if (comboBox1.SelectedIndex == 0)
      {
           //apply red color
      }
}

要应用的组合框的选定索引(用户想要的颜色)。我只是不知道该怎么做。

【问题讨论】:

标签: c# event-handling


【解决方案1】:
Color selectedColor;

private void label1_Paint(object sender, PaintEventArgs e)
{
    base.OnPaint(e);
    ControlPaint.DrawBorder(e.Graphics, label1.DisplayRectangle, selectedColor, ButtonBorderStyle.Solid);
}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    if (comboBox1.SelectedIndex == 0)
    {
        selectedColor = Color.Red;         
    }
    if (comboBox1.SelectedIndex == 1)
    {
        selectColor = Color.Blue;
    }
    label1.Invalidate();
    label1.Update();
}

【讨论】:

  • 您好,我有一个问题,即使用户选择了另一种颜色,红色也会保持不变。如何去除油漆颜色,然后重新绘制另一种颜色?
  • 好吧,我试一试。抱歉又打扰了。
  • 颜色停留在边框上。 :(
  • 通过调用基本方法试试?请让我知道它是否有效:)
  • 对不起,我该怎么做?我只是 C# 的新手。
猜你喜欢
  • 1970-01-01
  • 2012-06-26
  • 2023-03-06
  • 1970-01-01
  • 2017-03-06
  • 2010-11-02
  • 1970-01-01
  • 2017-08-06
  • 2012-06-25
相关资源
最近更新 更多