DOBON.NET DOBON.NETプログラミング掲示板過去ログ

実行中にマウスでリサイズできるコントロールを作るには

環境/言語:[言語:C# Framework:1.1]
分類:[.NET]

現在C#でVisualStudioのようなデザイナ機能を持つプログラムを作っています。
そこで問題が一つありまして、マウスでつかんでコントロールの移動は
力技というかで出来たんですが、マウスでドラッグしてのサイズ変更が出来ません。
実現方法わかる方、お願いします。
■No15372に返信(クワァッ!さんの記事)
> マウスでドラッグしてのサイズ変更が出来ません。
> 実現方法わかる方、お願いします。
↓と同じ方法。
> マウスでつかんでコントロールの移動
2006/03/06(Mon) 18:16:21 編集(投稿者)

クワァッさん こんにちは

クワァッさんがおっしゃった機能がおもしろそうだったのと、
自分でも後々必要になるように感じて、
ドラッグによる移動と、サイズ変更を指定したコントロールに実現させる MovableController というクラスを作成しました。

http://dobon.net/cgi-bin/up/files/009.zip

簡単に作成したクラスの概要を説明しますと、
サイズ変更または移動したいコントロールをこのクラスの Attach メソッドを使用してこのクラスへ登録し、
イベントハンドラを通してそのコントロールのサイズや位置を変更します。
動作は Windows のウィンドウの操作方法を模倣しました。

* Xmlドキュメントの一部は記述するのが面倒だったため、
 アドインの GhostDoc を使用して自動記述したため英語です ;)


使用例:

  MovableController controller = new MovableController();

  Label label = new Label();
  PictureBox pictureBox = new PictureBox();

  // 登録する
  controller.Attach( label );
  controller.Attach( pictureBox );

  // 解除する場合
  controller.Detach( label );
  controller.Detach( pictureBox );



メンバ (publicメンバのみ):

  + ResizingBorderWidth : int
  + MinimumSize : Size

  + Attach ( Control ) : void
  + Detach ( Control ) : void


詳しくはソース中のドキュメントをご覧ください。

DOBON.NET | プログラミング道 | プログラミング掲示板