.NET & Control > Form主要プロパティ(2)
のぶ亭『プログラミングの相談窓口』 … 様々なプログラミング問題を個別対応致します |
Form主要プロパティ(2)
カテゴリ[その他]
プロパティ AcceptButton
下図は、[AcceptButton ]プロパティにOKボタンを指定したイメージ。OKボタンの周囲が色づけされ手いるのがわかる。
Enterキーを入力すると、OKボタンをクリックしたイベントが発生する。なお、TextBoxなどEnterキーを受け付けるコントロールにフォーカスが当たっていた場合、この機能は使えないことに注意して欲しい。
プロパティ CancelButton
[CancelButton]プロパティにキャンセルボタンを指定すると、エスケープ(ESC)キーでキャンセルボタンをクリックしたイベントが発生する。
なお、ComboBoxコントロールにフォーカスが当てっていて開いている場合(▼クリック状態)、ComboBoxが閉じるだけで、キャンセルボタンのイベントは発生しないことに注意して欲しい。
プロパティ KeyPreview
フォームがキーイベントを取得する必要があればTrueに設定する。
<シナリオ>
フォームが、KeyPress、KeyDown、KeyUp の各イベントのすべてを受け取る。
もし、フォームのみが処理し、子コントロールにキーイベントを渡したくない(必要がない)場合KeyPressイベント ハンドラの
KeyPressEventArgs.Handled プロパティを
true に設定する。
キーイベントをフォームが管理する場合や、特定のコントロールのみに処理をさせる場合などに有効。
カテゴリ[動作]
プロパティ DoubleBuffered
ちらつきを防止するためのプロパティ。[DoubleBuffered]プロパティをTrueに設定すると、描画を内部バッファに描き一括描画することにより(途中経過を描画することなく)ちらつきを防止することができる。
なお、一般的なコントロールを貼り付けている限りはこの設定は不要。フォーム上に描画している場合だけ検討すればよい。
プロパティ Enabled
[Enabled]プロパティをFalseにすると、フォーム上にあるすべての子コントロールを操作無効に(凍結)する。
時間のかかる処理を行っている際、子コントロールを個別で無効状態にするよりも、画面全体を凍結した方が良い場合もある。
コントロール ボックス(最大化、最小化、終了)は有効。
ただし、この状態が3秒以上続く場合、WaitCursorにしたり、プログレス
バーを表示したりして、プログラムが生きていることを利用者に伝えるようにすることが必要。また、ステータス
バーに状態を表示する方法もある。
カテゴリ[配置]
プロパティ AutoScaleMode
フォームの自動スケーリング モードを設定。設定値は以下の通り。
None | 自動スケーリングが無効です。 |
Font | クラスで使用されているフォント (通常はシステムのフォント) の大きさを基準として スケールを制御します。 |
Dpi | ディスプレイの解像度を基準としてスケールを制御します。 一般的な解像度は 96 dpi と 120 dpi です。 |
Inherit | クラスの親のスケーリング モードに従ってスケールを制御します。 親が存在しない場合は、自動スケーリングが無効になります。 |
プロパティ AutoScroll
[AutoScroll]プロパティをTrueに設定すると、クライアント領域外にコントロールがある場合自動的にスクロール
バーが表示され、スクロール バーをスクロールすることにより表示することが可能になる。
ただし、デザイン時は対応しないため、コントロールの配置は難しいと思われる。
※もし、このような使い方を考えているなら、Panelコントロールを検討して欲しい。Panelコントロールは、デザイン時も対応しているため、領域外にコントロールを貼り付けると、自動スクロールしてくれる。ただし、貼り付けるコントロールによっては、貼り付けられた位置をうまく検知できない場合があるため工夫が必要になる。
プロパティ AutoSize、AutoSizeMode
プロパティ MaximumSize
フォームの最大サイズを設定。なお、このプロパティでサイズを指定すると、最大化ボタンをクリックした場合、最大サイズ以上にはならない。また、実行時およびデザイン時において最大サイズ以上に拡大することはできない。不適切なサイズにできないようにすることが目的。
プロパティ MinimumSize
フォームの最小サイズを設定。最小化ボタンは有効。実行時およびデザイン時において最小サイズ以下に縮小することはできない。不適切なサイズにできないようにすることが目的。
プロパティ StartPosition
実行時に、フォームの開始位置を設定。
Manual | フォームの位置は、Location プロパティによって決定されます。 |
CenterScreen | フォームは、現在の表示の中央に配置され、フォームのサイズとして指定された大きさになります。 |
WindowsDefaultLocation | フォームは Windows の既定位置に配置され、フォームのサイズとして指定された大きさになります。 |
WindowsDefaultBounds | フォームは Windows の既定位置に配置され、Windows の既定により決定されている境界を持ちます。 |
CenterParent | フォームは、親フォームの境界内の中央に配置されます。 |
プロパティ WindowState
実行直後のフォームのウィンドウ状態を設定。
Normal | 既定サイズのウィンドウ |
Minimized | 最小化状態 |
Maximized | 最大化状態 |
カテゴリ[表示]
プロパティ FormBorderStyle
フォームの境界線スタイルを設定。(左側がデザイン時、右側が実行時のイメージ)
FormBorderStyle.None
境界線なし(キャプションバーもなし)
Formをコントロールのように見せることができる
FormBorderStyle.FixedSingle
固定された一重線の境界線(サイズ変更不可)
FormBorderStyle.Fixed3D
固定された 3D 境界線
FormBorderStyle.FixedDialog
太い固定されたダイアログ スタイルの境界線
FormBorderStyle.Sizable
サイズ変更できる境界線
FormBorderStyle.FixedToolWindow
サイズ変更できないツール ウィンドウの境界線。ツール ウィンドウは、タスクバー、またはユーザーが Alt + Tab
キーを押したときに表示されるウィンドウには表示されない。FixedToolWindow
を指定するフォームはタスクバーに表示されない(ShowInTaskbar プロパティが
false に設定されていることを確認する必要がある。既定値は
true)
FormBorderStyle.SizableToolWindow
サイズ変更できるツール ウィンドウの境界線。
ツール ウィンドウは、タスクバー、またはユーザーが Alt + Tab
キーを押したときに表示されるウィンドウには表示されない。
プロパティ UseWaitCursor
フォームおよび子コントロールのマウスカーソルを待機(ウエイト)カーソルに設定
マウスカーソルが変わるだけで、コントロールの操作は可能である。フォームの[Enable]プロパティをFalseに設定するか、子コントロールの[Enable]プロパティをFalseに設定するかの対策が必要。
その他
プロパティ DialogResult
フォームがモーダル ダイアログ ボックスとして表示されている場合、閉じるボタン (フォームの右上隅の X
が付いているボタン) をクリックするとフォームが非表示になり、[DialogResult]プロパティ
にDialogResult.Cancel が設定される。なお、FormClosing イベントのイベント
ハンドラで[DialogResult]プロパティの値を変更することができる。
通常は、プログラムによりその時の状態で、以下に示すDialogResult列挙体値を設定する。
規定値 | 説明 |
None | 戻り値 Nothing (つまり、モーダル ダイアログ ボックスを継続) |
OK | 戻り値 OK ("OK") |
Cancel | 戻り値 Cancel ("キャンセル") |
Abort | 戻り値 Abort ("中止") |
Retry | 戻り値 Retry ("再試行") |
Ignore | 戻り値 Ignore ("無視") |
Yes | 戻り値 Yes ("はい") |
No | 戻り値 No ("いいえ") |