0
现在用的代码示例阅读本教程 http://chalaki.com/how-to-program-msagl-glee-to-create-hierarchical-graph-layouts/519/C#如何改变对象的属性动态地
。
想使属性动态(我希望能够从后一个数据库中加载的属性)
我曾尝试
string dColor = "Red";
string dShape = "Diamond";
Microsoft.Glee.Drawing.Node n2 = graph.FindNode(strNode2);
n2.Attr.Fillcolor = Microsoft.Glee.Drawing.Color.dColor;
n2.Attr.Shape = Microsoft.Glee.Drawing.Shape.dShape;
,但它不工作,我如何做到这一点,甚至阅读有关动态做到这一点?
[ANSWER] 我不确定这是否是最好的方法,但它的工作原理。
──为颜色,我没有
using mColor = Microsoft.Msagl.Drawing.Color;
using sColor = System.Drawing.Color;
sColor c = sColor.FromName("Red");
graph.FindNode("test1").Attr.FillColor = new mColor(c.A,c.R,c.G,c.B);
- 获得的形状,我没有
graph.FindNode("test1").Attr.Shape = (Shape)
(int)Enum.Parse(typeof(Shape),"Diamond");
其中 “测试1”, “钻石” 和 “红色” 值来自数据库。
我得到一个错误:CS0029 \t无法隐式转换类型 '的System.Drawing.Color' 到“Microsoft.Msagl。 Drawing.Color' – Law
我希望你有一个IDE,你可以很容易地发现这个'Microsoft.Msagl.Drawing.Color'是如何工作的。如果没有,您可以使用ILSpy或dotPeek。我已经更新了我的答案。 – Laoujin