我需要在C#WinForms中繪製一個大型的交互式樹形結構 - 一個公司層次結構。C#交互式繪圖#
除了將排列在樹上的塊可能會非常複雜的算法之外,我並不確定如何去實現實際的畫布和繪製代碼。乍一看,我可以創建一個巨大的圖像(或一個大圖像矩陣),並使用一個Graphics
或BufferedGraphics
來呈現給定用戶放大的一個小區域。這會給縮放和平移您可能會在Google地圖上看到的效果。
至於交互性,這裏可以做些什麼?我希望用戶能夠強調某些人(特定成本中心的人員,承包商的人等)。而且,如果隨着用戶放大,樹顯示更多有關員工的信息,這將非常酷。我是否應該用MouseMove
事件進行命中測試,並以編程方式添加/刪除/更改構成畫布上圖片的內容?
這是我應該避免使用GDI,也許使用DirectDraw來代替嗎?我不想過度使用 - 我只是想能夠直觀地呈現結構並讓用戶選擇打印它。
另外,是否有一個(免費軟件?)庫可用,允許縮放和平移與交互?我可能會問一些,但也許也可以處理樹結構?
我對小規模的每個個體概念都有經驗,但沒有一個像這樣的大型結構聚集在一起。我預測如果我做錯了什麼,它會變成非常緩慢,緩慢和記憶困難的事情。
我只涉獵了WPF。我幾乎完全在.Net中使用WinForms - WPF中有什麼可以使這個任務變得更容易?
就像我說過的,我對每一個人的概念都很熟悉和實踐,但從來沒有把它整合到一個像這樣的大型互動展示中。我可以向你保證,你的建議當然有幫助!謝謝。 – user1002358
很高興能幫到你! :-) –