我不知道这种UI风格的正确名称是什么。在MS Access中,“关系”工具将db表显示为可以与行链接的可移动框。它与Visio和一些音频应用程序相同 - 可移动的盒子,包含可以以有意义的方式连接在一起的文本行。
我如何使用Visual Studio 2008和C#在.NET中创建类似的东西?我以前从未创建过自己的控件。
这是我所说的那种形象的图像:Click for example
答案 0 :(得分:1)
您需要两个主要的自定义控件:主视图和表格控件。
表格控件负责使用其所有列绘制自身,并确保项目可以根据需要滚动。它还负责为指定的行标题提供x / y坐标。这样关系线可以匹配正确的行。
主视图负责接受表对象列表(存储在自定义表对象中),创建相同数量的表控件并按指定顺序排列它们。它还负责在表格控件之间绘制线条。
总而言之,这不是微不足道的。您将要覆盖这两个控件的OnPaint()方法以执行所有此自定义绘图。对GDI +图形例程进行一些研究,找出可以用来绘制它的方法。您可能最常使用这些对象/方法:
Pen
SolidBrush
LinearGradientBrush
DrawRectangle()
FillRectangle()
DrawString()
DrawImage()
DrawLine()
DrawPath()
您还需要捕获各种鼠标事件以启用移动控件。这可以通过覆盖OnMouseDown
或OnMouseMove
等方法来完成。
答案 1 :(得分:0)
您尝试绘制的图表是ERD或数据库设计。您可能正在寻找的是类图。
你要做的事情非常复杂。
以下是一些可能有用的链接。这些都是开源类型的UML工具,可以进行图解。
http://imar.spaanjaars.com/501/automatically-generating-class-diagrams-from-a-type-using-reflection
http://sourceforge.net/projects/use-case-maker/