質問者
継承フォーム上に、新たに追加したコントロールをマウスドラッグでサイズ調整できない

質問
-
こんにちは。
継承したフォーム上に、新たにボタンやdatagridviewなどのコントロールを追加してみたところ、マウスドラッグでのサイズ調整ができないことに気づきました。各コントロールのサイズプロパティの数値を変更すると、サイズは変わるので、ドラッグでのサイズ変更だけが受付られていないようです。継承じゃない通常のフォーム上では、コントロールの端にマウスでカーソルを合わせると、カーソルが両端矢印に変化するのですが、継承したフォーム上では、これが起こりません。ちなみに、ドラッグでの移動は可能です。何か私の設定がおかしいのでしょうか?どなたか、ご教授願えないでしょうか?
すべての返信
-
三輪の牛さん、お返事ありがとうございます。
実験的にフォーム1個、ボタン1個だけの極シンプルな基本フォームを継承したサブフォーム上では、普通にマウスでサイズ調整可能でした。ということは、基本フォームの違いによって発生している特殊な事象ということになりますね。ご指摘の通り別のコントロールが何か邪魔をしている可能性が高まったのですが、数値指定ではサイズ変更が可能なので、いまひとつ腑に落ちませんし、仮に別のコントロールが邪魔をしているとしても、一体どんな設定をすると別のコントロールが邪魔をする能力をもってしまうのか、全く検討もつかずトホホな状態です。また、何かアイデアがあれば、是非教えていただきたいと思います。 -
自己レスです。
基本クラスのフォームのLoadイベントに書いていた以下の1文
Me.WindowState = FormWindowState.Maximized
を、削除するとマウスドラッグでのサイズ調整ができるようになることが判明しました。再度書き入れると、また効かなくなります。しかしながら、極シンプル版で実験をしてみても、この規則性はあてはまらず、書いても書かなくてもマウスドラッグでのサイズ調整は可能でした。なので、いまだに腑に落ちない状態です。WindowStateに関する記述が、デザイン時とは言え、このような重大な効果を引き起こすとは想像を超えています。どなたか心当たりの方、いらっしゃらないでしょうか? -
ぞのさん、こんにちは。
ぞの さんからの引用
基本クラスのフォームのLoadイベントに書いていた以下の1文
Me.WindowState = FormWindowState.Maximized
を、削除するとマウスドラッグでのサイズ調整ができるようになることが判明しました。この1文、実行時に必要であってデザイン時には必要ではないと思うのですがいかがでしょうか。
その他にもデザイン時には必要ないと思われる命令が書かれていませんでしょうか。
また、そのような命令について次のようにDesignModeかどうかを判定してから実行するようにしたら問題解決しませんでしょうか。
コード ブロックIf Not Me.DesignMode Then
'ここに命令
End If