【发布时间】:2018-02-26 19:19:01
【问题描述】:
protected override void OnPaint(PaintEventArgs e)
{
if (comboBox1.Text == "Circle")
{
e.Graphics.FillEllipse(Brushes.Red, new Rectangle(105, 120, 64, 64));
}
if (comboBox1.Text == "Rectangle")
{
e.Graphics.FillRectangle(Brushes.Red, new Rectangle(105, 120, 75, 50));
}
if(comboBox1.Text == "Triangle")
{
Point[] points = { new Point(140, 110), new Point(230, 190), new Point(50, 190) };
e.Graphics.FillPolygon(Brushes.Red, points);
}
}
我已经在上面创建了这些形状,它们位于组合框中,但我正在尝试获取它,所以我的第二个组合框会改变形状的颜色,有什么办法吗?我似乎无法在任何地方找到它。 第二个组合框包含红色、绿色、蓝色、自定义颜色。我有它,所以调色板出现了,但我也不知道如何在选择时将其设置为形状。
我将如何参考形状并更改画笔颜色是我正在努力解决的部分
【问题讨论】:
-
您只需要通过迭代 System.Drawing.Colors 来填充第二个组合框,然后在 OnPaint() 中使用所选颜色
-
请使用标签。许多 UI 都有组合框:WPF/WebForms/WinForms/XamarinForms/WinRT/等。
-
如何将其分配给我的形状?
-
除combobox1外,您还需要检查combobox2中选择的内容,并在此基础上应用适当的画笔
-
你有这方面的代码示例吗? @ChetanRanpariya