質問: ラベルの文字列の長さが変わったときに、ラベル位置を自動で変更する方法 ラベルの文字列の長さが変わったときに、ラベル位置を自動で変更する方法 環境:visual studio 2008 (c#)、windows 7 professional (x64) フォーム上にラベルを配置し、autosizeをtrue、anchorをrightに設定すると、ラベルはフォームの右端に位置するように自動で位置を変更してくれます。 しかし、ラベルの内容を今より長い文字列に設定すると、ラベルの内容はフォームの右端をはみ出してしまい、ラベル全体に対してフォームの右端になるように配置してくれません。 いい方法がございましたら、お教えください。 どうぞよろしくお願いいたします。
回答: こんにちは。補足頂きました。 anchorは初期配置する際に、フォーム上の何処へ置くか、autosizeはテキストに合わせてラベルの幅が自動的に伸びる様になる、と言ったところではないでしょうか。 結局、ラベルの幅が増えても位置は固定のままです。 ラベルを含め、ボタン等のコントロールの素性はチャイルドスタイルのウィンドウを複合して形成されたものです。 色々とウィンドウを取り扱ってきましたが、ウィンドウの幅を自動変更してくれるのはありますが、ウィンドウの位置まで自動変更してくれるものは見た事がないです。 .netframeworkには色々と都合の好さそうなプロパティが存在するのですが、設定しても期待した通りにはならない事が良くあります。