【发布时间】:2016-11-09 07:03:17
【问题描述】:
我有这个包含三个值(圆、矩形和线)的组合框:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (comboBox1.SelectedItem.ToString())
{
case "circle":
{
propertyGrid1.SelectedObject = c;
}
break;
case "line":
{
propertyGrid1.SelectedObject = l;
}
break;
case "rectangle":
{
propertyGrid1.SelectedObject = r;
}
break;
default:
break;
}
}
r、c 和 l 是来自圆形、矩形和线条类的新对象。我有这些形状,印在我的面板上,我希望能够通过 PropertyGrid 更改它们的属性(比如更改圆圈颜色)。我尝试过类似的方法:
private void propertyGrid1_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
{
switch(propertyGrid1.SelectedGridItem.ToString())
{
case GridItem=Color
{
}
.
.
.
}
}
但我不知道如何正确执行此操作。你能帮我解决这个问题吗?
【问题讨论】:
-
我建议使用应用按钮。当您在组合框中选择一个形状时,将其属性加载到 propertyGrid 并让用户修改它们,然后他自己单击按钮,该按钮将获取属性并重绘形状。
-
这个按钮应该如何工作?
-
好吧,不是在编辑过程中使用 _PropertyValueChanged 读取 propertyGrid,而是在单击按钮时一次读取它们。用户在完成属性编辑后单击按钮。
标签: c# .net winforms gdi+ propertygrid