在Win Forms应用程序中创建动态技术绘图的方法

时间:2013-08-27 11:11:03

标签: c# .net winforms drawing visio

我有一个配置产品的c#,。net 4,mdi Windows窗体应用程序。该产品是独一无二的,它总是看起来不同但相似。

我想创建一个简单的技术2D绘图,它是根据用户输入创建和显示的。我的想法是,用户以一种mdi形式输入产品数据,图形以另一种mdi形式显示。绘图应该在自己的线程中创建,因此用户不必等待它。

关于图纸: 它应该包含不同颜色的线条和矩形,填充和未填充。一些行/矩形旁边有文本信息,例如。显示尺寸或名称。

我不确定应该采用哪种方式来创建绘图。我的第一个想法是使用Microsoft Visio绘图控件或只是在窗体上绘制。但我不确定那是不是真的要走了。

我很感激任何建议。对于简单的2D技术图纸,还有其他好的库吗?是Visio还是Windows.Drawing的方式去?还有其他想法吗?

/ edit :示例图:

example drawing

/ edit2:以编程方式突出显示形状会很有用。同样有用的是形状鼠标超过事件。

1 个答案:

答案 0 :(得分:0)

我按建议使用 WPF 并将其托管在 ElementHost 中。它工作得很好,多边形有鼠标悬停事件,因此您可以突出显示/选择它们并显示有关链接对象的详细信息。

有许多教程可以开始绘制多边形和东西。更加棘手的是实现缩放和拖动功能。因此,我找到了这个可以强烈推荐WPF simple zoom and drag support in a ScrollViewer

的示例