我需要在运行时动态创建的面板边缘绘制一个矩形。首先,我得到了十六进制代码的颜色。我正在使用我在 stackoverflow 上找到的类似问题的代码将其转换为 ARGB:
string color = *getting the hexa code*
int argb = Int32.Parse(color.Replace("#", ""), NumberStyles.HexNumber);
Color clr = Color.FromArgb(argb);
现在,我尝试使用以下代码绘制矩形:
Graphics g = panel.CreateGraphics();
Pen p = new Pen(clr);
Rectangle r = new Rectangle(1, 1, 578, 38);
g.DrawRectangle(p, r);
但它什么也没做,没有出现矩形。此代码包含在创建面板本身并使用一些控件(组合框、按钮等)填充它的代码的一部分中。我是否需要使用类似的东西将矩形添加到面板中panel.Controls.Add(r);
?(试过了,当然矩形不是控件,所以它不起作用)