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