我有一个配置产品的c#,。net 4,mdi Windows窗体应用程序。该产品是独一无二的,它总是看起来不同但相似。
我想创建一个简单的技术2D绘图,它是根据用户输入创建和显示的。我的想法是,用户以一种mdi形式输入产品数据,图形以另一种mdi形式显示。绘图应该在自己的线程中创建,因此用户不必等待它。
关于图纸: 它应该包含不同颜色的线条和矩形,填充和未填充。一些行/矩形旁边有文本信息,例如。显示尺寸或名称。
我不确定应该采用哪种方式来创建绘图。我的第一个想法是使用Microsoft Visio绘图控件或只是在窗体上绘制。但我不确定那是不是真的要走了。
我很感激任何建议。对于简单的2D技术图纸,还有其他好的库吗?是Visio还是Windows.Drawing的方式去?还有其他想法吗?
/ edit :示例图:
/ edit2:以编程方式突出显示形状会很有用。同样有用的是形状鼠标超过事件。
答案 0 :(得分:0)
我按建议使用 WPF 并将其托管在 ElementHost 中。它工作得很好,多边形有鼠标悬停事件,因此您可以突出显示/选择它们并显示有关链接对象的详细信息。
有许多教程可以开始绘制多边形和东西。更加棘手的是实现缩放和拖动功能。因此,我找到了这个可以强烈推荐:WPF simple zoom and drag support in a ScrollViewer
的示例