2

この UI スタイルの正しい名前がわかりません。MS Access では、'relationships' ツールは、db テーブルを線でリンクできる小さな可動ボックスとして表示します。これは、Visio といくつかのオーディオ アプリ (移動可能で、意味のある方法で結合できるテキスト行を含むボックス) と同じです。

Visual Studio 2008 と C# を使用して .NET で同様のものを作成するにはどうすればよいですか? 以前に独自のコントロールを作成したことはありません。

ここに私が意味するもののイメージがあります:例をクリックしてください

4

2 に答える 2

1

メイン ビューテーブル コントロールの 2 つの主要なカスタム コントロールが必要です。

テーブル コントロールは、すべての列でそれ自体を描画し、必要に応じてアイテムをスクロールできるようにする役割を果たします。また、指定された行ヘッダーの x/y 座標を提供する役割もあります。これは、関係線が正しい行に一致するようにするためです。

メイン ビューは、(カスタム テーブル オブジェクトに格納された) テーブル オブジェクトのリストを受け入れ、同じ数のテーブル コントロールを作成し、それらを指定された順序で配置する役割を果たします。また、テーブル コントロール間の線の描画も担当します。

全体として、これは些細なことではありません。このすべてのカスタム描画を行うには、これら両方のコントロールの OnPaint() メソッドをオーバーライドする必要があります。GDI+ グラフィックス ルーチンについて調べて、これを描画するために使用できる方法を見つけてください。おそらく、これらのオブジェクト/メソッドを最も頻繁に使用するでしょう:

Pen
SolidBrush
LinearGradientBrush
DrawRectangle()
FillRectangle()
DrawString()
DrawImage()
DrawLine()
DrawPath()

また、コントロールを移動できるようにするには、あらゆる種類のマウス イベントをトラップする必要があります。OnMouseDownこれは、またはなどのメソッドをオーバーライドすることで実行できますOnMouseMove

幸運を。

于 2009-05-25T08:43:33.020 に答える
0

描画しようとしている図は、ERD またはデータベースの設計です。また、探しているのはクラス図です。

あなたがやろうとしていることはかなり複雑です。

ここに役立つリンクがいくつかあります。これらはすべて、ダイアグラムを作成するオープン ソース タイプの UML ツールです。

http://imar.spaanjaars.com/501/automatically-generating-class-diagrams-from-a-type-using-reflection

http://www.codebydesign.com/

http://sourceforge.net/projects/use-case-maker/

http://projects.gnome.org/dia/

http://www.monouml.org/doku.php?id=documentation

于 2011-05-27T14:39:18.127 に答える