Visual Studio 2008 C#でユーザコントロールを作成しています。

作成したユーザコントロールをフォームに貼り付けてみましたが、貼り付けたフォームのリサイズに合わせて自動的にユーザコントロールをリサイズするようにできませんでした。

ボタンやテキストボックスなどの標準のコントロールであれば、Anchorプロパティの値を変更すると自動的にリサイズするようにできるのですが、自作のユーザコントロールはリサイズできないのでしょうか?

プロパティの値の変更やちょっとしたソースコードの追加(変更)でできるのであれば、やり方を教えていただきたいです。

ソースコードの追加で実現する場合、(サードパーティ製のライブラリを使用する方法ではなく)Microsoftが提供するクラスやAPIを使用する方法を希望します。

もし、簡単にはできないのであれば、簡単に実装できない理由が説明されたウェブページで結構です。

よろしくお願いいたします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/03/31 14:40:56
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:khazad-Lefty No.2

回答回数181ベストアンサー獲得回数27

ポイント120pt

コメント欄開いてないので再度回答で失礼します。

>「これ」とはどれでしょうか?

失礼しました。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=35697&fo...

です。

id:Nekomajin

ありがとうございます!まさにこれです。

Anchorプロパティで設定する方法は間違っていなかったようです。

Anchorプロパティで設定するという確信からさらにいろいろと調査してみた結果、手動でコンパイルしないとAnchorプロパティの変更が適用されないようでした。

(今までバックグラウンドコンパイルで確認していました)


また、ユーザコントロールをいくつか作っているのですが、とあるユーザコントロールだけフォームを大きくするリサイズでは問題は起きず、フォームが小さくなるリサイズ時ではユーザフォームの外枠だけリサイズされ中のコントロールの位置は移動しないという現象が発生しました。

これはデザインモードの時だけの問題かもしれませんし、他のユーザコントロールは正しくリサイズできていますので、とりあえず教えていただいたサイトにあった「フォームにユーザコントロールを貼り付け時にDockプロパティをFillに変更」で対応しました。

2009/03/31 14:39:42

その他の回答1件)

id:khazad-Lefty No.1

回答回数181ベストアンサー獲得回数27

未検証ですが、これが参考にならないでしょうか?

このながれだと、リサイズ自体はできるような感じがしますが。

id:Nekomajin

えーっと、「これ」とはどれでしょうか?><

2009/03/31 11:27:39
id:khazad-Lefty No.2

回答回数181ベストアンサー獲得回数27ここでベストアンサー

ポイント120pt

コメント欄開いてないので再度回答で失礼します。

>「これ」とはどれでしょうか?

失礼しました。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=35697&fo...

です。

id:Nekomajin

ありがとうございます!まさにこれです。

Anchorプロパティで設定する方法は間違っていなかったようです。

Anchorプロパティで設定するという確信からさらにいろいろと調査してみた結果、手動でコンパイルしないとAnchorプロパティの変更が適用されないようでした。

(今までバックグラウンドコンパイルで確認していました)


また、ユーザコントロールをいくつか作っているのですが、とあるユーザコントロールだけフォームを大きくするリサイズでは問題は起きず、フォームが小さくなるリサイズ時ではユーザフォームの外枠だけリサイズされ中のコントロールの位置は移動しないという現象が発生しました。

これはデザインモードの時だけの問題かもしれませんし、他のユーザコントロールは正しくリサイズできていますので、とりあえず教えていただいたサイトにあった「フォームにユーザコントロールを貼り付け時にDockプロパティをFillに変更」で対応しました。

2009/03/31 14:39:42

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません