原創|使用教程|編輯:郝浩|2013-05-15 14:48:56.000|閱讀 1766 次
概述:FlowChart.NET現在更名為MindFusion.Diagramming for WinForms,這個是一個通用的流程圖控件,提供了用于創建或編輯圖表的直觀的用戶交互模型。本文將主要關注如何指定布局算法。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
指定算法是模擬圖中的對象之間的作用力和反復運行的物理模擬,將會拉近對象,或是將它們分開。在每次迭代時,與模擬系統相關聯的能量減少,并且通過該方法計算出的節點位,使得節點均勻的分布和鏈路長度均勻。今天就來看看這個Spring-Embedder圖形布局和網格圖布局。
Spring-Embedder圖形布局
Spring-Embedder是力導向布局算法。主要是模擬節點相互排斥的物理系統,節點之間的聯系就會作為confining springs。通過Spring-Embedder處理圖表,節點將會均勻分布在圖面積上。該算法可以通過創建一個springlayout對象并調用Arrange方法來應用在圖像上。springlayout成員允許你設置圖的節點間的距離,以及以及在計算節點位置時設置將要使用的迭代步數。
您也可以指定最小化鏈接通過,如果你選擇這項的話,算法將會用更多的迭代步驟產生更好的結果。但是如果指定了多個步驟,就需要更多的時間來完成。在VB.NET 、 C#、Spring-Embedder 布局中可以像下面這樣應用:
C#
using MindFusion.Diagramming; using MindFusion.Diagramming.Layout; ... private void button1_Click(object sender, EventArgs e) { SpringLayout sl = new SpringLayout(); sl.IterationCount = 500; sl.NodeDistance = 30; sl.Arrange(diagram); }
Visual Basic
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim sl As New SpringLayout() sl.IterationCount = 500 sl.NodeDistance = 30 sl.Arrange(diagram) End Sub
網格圖布局
網格布局算法在網格中的圖表節點中,將節點連接在一起。力圖實現少數量的鏈接通過。它是基于一個迭代過程,初始步驟將會隨機混亂網格節點,所以在每次算法之后,就會有不同的結果。
運用這個布局創建一個實例,設置其成員和調用安排方法,網格布局可以像下面這樣運用:
C#
using MindFusion.Diagramming; using MindFusion.Diagramming.Layout; ... private void button1_Click(object sender, EventArgs e) { GridLayout gl = new GridLayout(); gl.GridSize = 75; gl.Arrange(diagram); }
Visual Basic
Imports MindFusion.Diagramming Imports MindFusion.Diagramming.Layout ... Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim gl As New GridLayout() gl.GridSize = 75 gl.Arrange(diagram) End Sub
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件