翻譯|其它|編輯:吳園園|2019-08-15 15:27:59.870|閱讀 328 次
概述:MindFusion.Diagramming for WinForms是一款能夠幫助你輕松創建流程圖和示意圖的.NET控件,可以自定義設計樣式和圖表框顏色。本文整理了用戶常見圖形布局的問題,以及其他問題,希望對您有所幫助。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
本文整理了用戶在使用MindFusion.Diagramming for WinForms經常遇見的圖形布局的問題,以及其他問題,希望對您有所幫助~
點擊下載MindFusion.Diagramming for WinForms最新試用版
問:應用TreeMapLayout后,我的樹形圖不完全可見,需要滾動。我可以讓它適合圖表的可見部分嗎?
答:樹形圖是在通過TreeMapLayout.LayoutArea屬性指定的區域內生成的,或者是在圖中。如果未設置前者,則生成樹形圖。要在圖的可見部分內排列節點,請將這些屬性中的任何一個設置為DiagramView.ClientToDoc(DiagramView.ClientRectangle)的結果。
問:您宣傳了兩種流程圖布局算法,我應該使用哪種算法?
答: FlowchartLayout用于安排源代碼流程圖,其中代碼結構(如循環和分支)可以相互嵌套。DecisionLayout專為包含決策和活動框的簡單流程圖而設計,每個節點最多有三個傳出鏈接。有關演示這兩種流程圖的示例,請參閱隨組件一起安裝的JavaScript和DecisionLayout示例項目。
問: FlowChart.NET是否有任何ASP.NET示例?我想將圖像生成集成到網頁中。
答:是的,有一些WebApp示例項目,可在Samples \ C#和Samples \ VB.NET文件夾中找到。該示例使用ASP.NET IMG控件并將其URL設置為動態生成圖表圖像的網頁。該網頁創建一個Diagram實例,加載一個圖表,并使用CreateImage方法將圖表導出到jpeg。它還將響應類型設置為image / jpeg,最后將圖像字節發送到瀏覽器。
問:我可以在服務器上使用MindFusion.Diagramming.dll,在客戶端上使用JDiagram applet來實現Web圖解解決方案嗎?
答:這就是我們的NetDiagram控件基本上做的事情。如果您希望自己實現它,請查看運行其中一個NetDiagram示例項目時生成的HTML和JavaScript,例如OrgBrowser。圖表數據在那里作為壓縮XML數據傳輸,使用.NET 2和Java提供的ZipStream類。
問:我可以使用WebApp示例方法創建實體關系圖嗎?
答:您可以使用WebApp示例中的TableNodes替換ShapeNodes以創建數據庫圖表。
問:使用WebApp方法在網頁上顯示圖表時,是否可以檢測展開/折疊按鈕點擊?
答:用于生成客戶端圖像映射的HtmlBuilder類具有ExpandBtnHyperlink屬性 - 使用它來處理服務器上的單擊(通過設置單擊節點的Expanded屬性)并將新圖表圖像返回給瀏覽器。
問:當圖中有大背景形狀時,鏈接自動路由似乎不起作用。我怎樣才能解決這個問題?
答:將Obstacle屬性設置為false:
backgroundShape.Obstacle = false
問:是否可以防止自動路由不移動鏈接的原點或目標錨點。鏈接保持在用戶設置的錨點是至關重要的。
答:設置Anchoring to Keep:
Diagram.RoutingOptions.Anchoring = Keep
問:是否可以保留工作流程的更改歷史記錄并比較兩個版本?
答:如果您需要顯示同一文檔的兩個修訂版之間的差異,您可以實現更改日志并將差異顯示為在某些日期之間記錄的日志條目列表。
啟用Diagram.UndoManager屬性和UndoManager.UndoEnabled屬性并處理Diagram.ActionRecorded事件。在事件處理程序中,根據要記錄的命令創建日志條目。為每條記錄添加時間戳,以便您可以將文檔修訂日期與日志記錄時間進行比較。您可以使日志條目的集合可序列化并將其存儲在Diagram.Tag中。
另一種可能性是為每個DiagramItem.Tag分配唯一的ID。然后,您可以通過檢查兩個版本中是否存在具有某個ID的項目來比較文檔修訂,因此您知道是否已添加或刪除了一個DiagramItem。如果兩個文檔中都存在具有某些ID的項目,則可以進一步比較其屬性值,例如“文本”,“邊界”等。
問:如何將自定義數據與圖表中的項目(節點和鏈接)相關聯?
答:您可以創建自己的派生自ShapeNode的類,并為其添加ID屬性。要讓用戶創建您的類型的項目,請將view.Behavior設置為Custom,將view.CustomNodeType設置為typeof(your_node_class)。有關如何在FlowChart.NET中使用自定義類型的示例,請檢查IconNodes示例項目。
更簡單的解決方案是將id分配給項目的Tag屬性。另外一個“好處”是您可以使用Diagram的FindNode方法按標簽/ ID搜索節點。
問:在哪里可以獲得FlowChart.NET的液壓,氣動和電氣符號庫?
答:目前我們不提供此類符號。相反,您可以創建自己的Shape定義,其Image屬性設置為表示相應符號的位圖或元文件。例如,檢查安裝在Flowchart.NET Samples文件夾中的符號庫示例“LogicGates”。
問答持續更新中>>>
MindFusion.Diagramming for WinForms現已加入在線訂購,點擊此處查看價格~
想要購買MindFusion.Diagramming for WinForms正版授權的朋友歡迎哦~
更多精彩內容,敬請關注下方的微信公眾號,及時獲取產品最新資訊▼▼▼
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: