原創(chuàng)|使用教程|編輯:郝浩|2013-06-09 14:11:34.000|閱讀 421 次
概述:FlowChart.NET是一個(gè)通用的流程圖控件,提供了用于創(chuàng)建或編輯圖表的直觀的用戶交互模型。在本文中將會(huì)繼續(xù)創(chuàng)建一個(gè)自定義的CompositeNode 類,用于顯示在組織中的獨(dú)立信息,如名稱、 說明和圖像。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
FlowChart.NET是一個(gè)通用的流程圖控件,提供了用于創(chuàng)建或編輯圖表的直觀的用戶交互模型。在前面的教程中,已經(jīng)說明了一部分如何自定義節(jié)點(diǎn),在本文中將會(huì)繼續(xù)創(chuàng)建一個(gè)自定義的CompositeNode 類,用于顯示在組織中的獨(dú)立信息,如名稱、 說明和圖像。節(jié)點(diǎn)將會(huì)通過各種公開的屬性進(jìn)行自定義。
4、定義節(jié)點(diǎn)屬性
要能夠自定義節(jié)點(diǎn),我們需要公開幾個(gè)屬性。在這種情況下,屬性只是作為基礎(chǔ)組件屬性的包裝。在構(gòu)造函數(shù)之后添加以下代碼:
C#
public MindFusion.Drawing.Pen Stroke { get { return shape.Pen; } set { shape.Pen = value; } } public MindFusion.Drawing.Brush Fill { get { return shape.Brush; } set { shape.Brush = value; } } public Image Image { get { return image.Image; } set { image.Image = value; } } public string Title { get { return title.Text; } set { title.Text = value; } } public string FullName { get { return fullName.Text; } set { fullName.Text = value; } } public string Text { get { return text.Text; } set { text.Text = value; } }
Visual Basic
Public Property Stroke() As MindFusion.Drawing.Pen Get Return _shape.Pen End Get Set(ByVal value As MindFusion.Drawing.Pen) _shape.Pen = value End Set End Property Public Property Fill() As MindFusion.Drawing.Brush Get Return _shape.Brush End Get Set(ByVal value As MindFusion.Drawing.Brush) _shape.Brush = value End Set End Property Public Property Image() As Image Get Return _image.Image End Get Set(ByVal value As Image) _image.Image = value End Set End Property Public Property Title() As String Get Return _title.Text End Get Set(ByVal value As String) _title.Text = value End Set End Property Public Property FullName() As String Get Return _fullName.Text End Get Set(ByVal value As String) _fullName.Text = value End Set End Property Public Property Text() As String Get Return _text.Text End Get Set(ByVal value As String) _text.Text = value End Set End Property
5、指定默認(rèn)值
在組件內(nèi)容已經(jīng)加載以及引用到感興趣的組件已經(jīng)獲得后,默認(rèn)值可以提供在構(gòu)造函數(shù)中。下面的代碼將會(huì)設(shè)置白色的背景和黑色的邊界作為新節(jié)點(diǎn)的默認(rèn)值:
C#
Stroke = new MindFusion.Drawing.Pen(Color.Black, 0);
Fill = new MindFusion.Drawing.SolidBrush(Color.White);
Visual Basic
Stroke = New MindFusion.Drawing.Pen(Color.Black, 0)
Fill = New MindFusion.Drawing.SolidBrush(Color.White)
6、使用自定義節(jié)點(diǎn)類
假設(shè)我們有一個(gè)現(xiàn)成的WinForms應(yīng)用程序,并且包含一個(gè)名為diagram1圖變量,兩個(gè)圖像已經(jīng)被添加到這個(gè)應(yīng)用程序作為資源,分別命名為Image1和Image2。下面的代碼創(chuàng)建了兩個(gè)OrgChartNode類的新實(shí)例,并使用一個(gè)鏈接將這兩進(jìn)行連接:
C#
OrgChartNode node1 = new OrgChartNode(diagram1); node1.Bounds = new RectangleF(20, 10, 80, 40); node1.Title = "CEO"; node1.FullName = "John Smith"; node1.Text = "Our beloved leader. \r\n" + "The CEO of this great corporation."; node1.Image = Properties.Resources.Image1; diagram1.Nodes.Add(node1); OrgChartNode node2 = new OrgChartNode(diagram1); node2.Bounds = new RectangleF(60, 60, 80, 40); node2.Title = "CIO"; node2.FullName = "Bob Smith"; node2.Text = "The CIO of this great corporation."; node2.Image = Properties.Resources.Image2; diagram1.Nodes.Add(node2); diagram1.Factory.CreateDiagramLink(node1, node2);
Visual Basic
Dim node1 As New OrgChartNode(diagram1) node1.Bounds = New RectangleF(20, 10, 80, 40) node1.Title = "CEO" node1.FullName = "John Smith" node1.Text = "Our beloved leader. \r\n" & _ "The CEO of this great corporation." node1.Image = My.Resources.Image1 diagram1.Nodes.Add(node1) Dim node2 = New OrgChartNode(diagram1) node2.Bounds = New RectangleF(60, 60, 80, 40) node2.Title = "CIO" node2.FullName = "Bob Smith" node2.Text = "The CIO of this great corporation." node2.Image = My.Resources.Image2 diagram1.Nodes.Add(node2) diagram1.Factory.CreateDiagramLink(node1, node2)
運(yùn)行應(yīng)用程序?qū)?huì)給出類似于下面的圖片的結(jié)果:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件