0

私は C# は初めてですが、OOP は初めてです。

ユーザーがマウスクリックで図形を描くことができる「キャンバス」パネルを作成したいと思いますが、それらを削除することもできます (空想的で固定されたサイズなど、単純な古いペンオブジェクトはありません)。私が言ったように、ユーザーが Alt キーを押しながらクリックしたオブジェクトを削除できるようにしたいと考えています。

これを行うにはどうすればよいかわかりません。Flash を使用していた場合、おそらく次のようにします。

my_circle_object = new disc-or-whatever-etc;
canvas.addChild(my_circle_object);
my_circle_object.AddEventListener(MouseClickEvent, function_to_remove_child);

さて、単純なフロントエンド UI 関連のものに関しては、コンパイル済み言語は悪魔なので、これを C# で記述するには 20 倍のコードが必要になると確信しています。しかし、私の例に似たものはありますか?

私は、GraphicsContainers、SmoothingPaint、ビットマップを使用した Graphics Persistence などについて、午後中ずっと読んでいましたが、単純なイベント追加メソッドは見つかりませんでした..

ありがとうございました

4

1 に答える 1

0

オブジェクトのシェイプ メソッドを使用して描画するGraphicsオブジェクト ( DrawLineDrawEllipseDrawRectなど) は、グラフィックス API に関する限り、概念的なオブジェクトを表していません。これらの関数を呼び出すと、単純に項目がビットマップとしてグラフィック サーフェイスに描画されます。それが完了すると、イベントを添付するものは何もありません。

独自の形状タイプを作成し、それらをグラフィックス オブジェクトに描画させる必要があります。使用しているコントロール ( を想定してPanelいます) で適切なマウス イベントにアタッチし、独自の衝突検出を行う必要があります。

于 2010-10-19T19:04:03.187 に答える