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