ControlStyles 列挙型

定義

コントロールのスタイルと動作を指定します。

この列挙体は、メンバー値のビットごとの組み合わせをサポートしています。

public enum class ControlStyles
[System.Flags]
public enum ControlStyles
[<System.Flags>]
type ControlStyles = 
Public Enum ControlStyles
継承
ControlStyles
属性

フィールド

AllPaintingInWmPaint 8192

true の場合、コントロールはウィンドウ メッセージ WM_ERASEBKGND を無視することによって、ちらつきを抑えます。 このスタイルは、UserPaint ビットが true に設定されている場合だけ適用されます。

CacheText 16384

true の場合、コントロールは、必要に応じて毎回 Handle からテキストのコピーを取得するのではなく、テキストのコピーを保持します。 このスタイルは、既定では falseに設定されます。 この動作によってパフォーマンスは向上しますが、テキストを同期させておくことが難しくなります。

ContainerControl 1

true の場合、コントロールはコンテナーのような機能を果たします。

DoubleBuffer 65536

true の場合、描画はバッファーで実行され、完了後に、結果が画面に出力されます。 ダブル バッファリングは、コントロールの描画によるちらつきを防ぎます。 DoubleBuffertrue に設定した場合は、UserPaint および AllPaintingInWmPainttrue に設定する必要があります。

EnableNotifyMessage 32768

true の場合、コントロールの WndProc(Message) に送信されたすべてのメッセージに対して OnNotifyMessage(Message) メソッドが呼び出されます。 このスタイルは、既定では falseに設定されます。 部分信頼では、EnableNotifyMessage は正常に機能しません。

FixedHeight 64

true の場合、自動スケールされるときにコントロールの高さが固定されます。 たとえば、新しい Font を挿入できるようにレイアウト操作でコントロールを再スケールしようとしても、コントロールの Height は変更されません。

FixedWidth 32

true の場合、自動スケールされるときにコントロールの幅が固定されます。 たとえば、新しい Font を挿入できるようにレイアウト操作でコントロールを再スケールしようとしても、コントロールの Width は変更されません。

Opaque 4

true の場合、コントロールは不透明に描画され、背景は描画されません。

OptimizedDoubleBuffer 131072

true の場合、コントロールは、画面に直接ではなく、まずバッファーに描画されます。これにより、ちらつきを抑えることができます。 このプロパティを true に設定した場合は、AllPaintingInWmPainttrue に設定する必要があります。

ResizeRedraw 16

true の場合、コントロールのサイズが変更されると、そのコントロールが再描画されます。

Selectable 512

true の場合、コントロールはフォーカスを受け取ることができます。

StandardClick 256

true の場合、コントロールは標準の Click 動作を実装します。

StandardDoubleClick 4096

true の場合、コントロールは標準の DoubleClick 動作を実装します。 StandardClick ビットが true に設定されていない場合、このスタイルは無視されます。

SupportsTransparentBackColor 2048

true の場合、コントロールはアルファ値が 255 未満の BackColor を受け入れ、透明度をシミュレートします。 この透明度は、UserPaint ビットが true に設定され、親コントロールが Control から派生している場合だけシミュレートされます。

UserMouse 1024

true の場合は、コントロールがマウスの操作を独自に処理し、オペレーティング システムではマウス イベントが処理されません。

UserPaint 2

true の場合、コントロールはオペレーティング システムによってではなく、独自に描画されます。 falseの場合、 Paint イベントは発生しません。 このスタイルは、Control から派生したクラスだけに適用されます。

UseTextForAccessibility 262144

コントロールの Text プロパティの値を指定します。設定した場合、コントロールの既定の Active Accessibility 名とショートカット キーが決定されます。

次の例は、 イベントでの の ControlStyles 使用を StyleChanged 示しています。

private:
   // Set the 'FixedHeight' and 'FixedWidth' styles to false.
   void MyForm_Load( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      this->SetStyle( ControlStyles::FixedHeight, false );
      this->SetStyle( ControlStyles::FixedWidth, false );
   }

   void RegisterEventHandler()
   {
      this->StyleChanged += gcnew EventHandler( this, &MyForm::MyForm_StyleChanged );
   }

   // Handle the 'StyleChanged' event for the 'Form'.
   void MyForm_StyleChanged( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      MessageBox::Show( "The style releated to the 'Form' has been changed" );
   }
// Set the 'FixedHeight' and 'FixedWidth' styles to false.
private void MyForm_Load(object sender, EventArgs e)
{
   this.SetStyle(ControlStyles.FixedHeight, false);
   this.SetStyle(ControlStyles.FixedWidth, false);
}

private void RegisterEventHandler()
{
   this.StyleChanged += new EventHandler(MyForm_StyleChanged);
}

// Handle the 'StyleChanged' event for the 'Form'.
private void MyForm_StyleChanged(object sender, EventArgs e)
{
   MessageBox.Show("The style releated to the 'Form' has been changed");
}
' Set the 'FixedHeight' and 'FixedWidth' styles to false.
Private Sub MyForm_Load(sender As Object, e As EventArgs)
   Me.SetStyle(ControlStyles.FixedHeight, False)
   Me.SetStyle(ControlStyles.FixedWidth, False)
End Sub

Private Sub RegisterEventHandler()
   AddHandler Me.StyleChanged, AddressOf MyForm_StyleChanged
End Sub

' Handle the 'StyleChanged' event for the 'Form'.
Private Sub MyForm_StyleChanged(sender As Object, e As EventArgs)
   MessageBox.Show("The style releated to the 'Form' has been changed")
End Sub

注釈

コントロールは、さまざまなプロパティとメソッドでこの列挙を使用して機能を指定します。 コントロールは、 メソッドを呼び出し SetStyle 、適切な ControlStyles ビット (またはビット) とブール値を渡してビットを に設定することで、スタイルを有効にすることができます。 たとえば、次の Visual Basic コード行では、ダブル バッファリングが有効になります。

myControl.SetStyle(UserPaint Or AllPaintingInWmPaint Or DoubleBuffer, True)  

AllPaintingInWmPaint ビットが にtrue設定されている場合、ウィンドウ メッセージ WM_ERASEBKGNDは無視され、および メソッドの両方OnPaintBackgroundOnPaintがウィンドウ メッセージ WM_PAINTから直接呼び出されます。 これは通常、他のコントロールがウィンドウ メッセージWM_ERASEBKGNDをコントロールに送信しない限り、ちらつきを減らします。 ウィンドウ メッセージをWM_ERASEBKGRND送信して、SupportsTransparentBackColor のような擬似透明効果を実現できます。たとえば、フラットな外観の は ToolBar 、これを行います。

ダブル バッファリングを完全に有効にするには、OptimizedDoubleBuffer ビットと AllPaintingInWmPaint ビットを に true設定します。 ただし、同じ結果を得るダブル バッファリングを有効にするための推奨される方法は、 コントロールの プロパティを DoubleBuffered に設定することです true

SupportsTransparentBackColor ビットが に true設定され BackColor 、 がアルファ コンポーネントが 255 未満の色に設定されている場合は、親コントロールに背景を塗りつぶすように求めることで透明度 OnPaintBackground がシミュレートされます。 これは真の透明性ではありません。

注意

コントロールとその親の間に別のコントロールがある場合、現在のコントロールは中央にコントロールを表示しません。

UserMouse ビットが に true設定されている場合、次のメソッドは引き続き呼び出されます: Control.OnMouseDownControl.OnMouseUpControl.OnMouseEnterControl.OnMouseMove、、 Control.OnMouseHoverControl.OnMouseLeaveおよび Control.OnMouseWheel

コントロールがクリックされると、StandardClick ビットが メソッドにtrueControl.OnClick設定されている場合は が呼び出され、イベントが発生しますControl.Click。 コントロールがダブルクリックされ、StandardClick ビットと StandardDoubleClick ビットの両方が に true設定されている場合、クリックはイベントに DoubleClick 渡されます。 次に、 Control.OnDoubleClick メソッドが呼び出され、 イベントが発生します Control.DoubleClick 。 ただし、コントロールは、StandardClick ビット値と StandardDoubleClick ビット値に関係なく、 または OnDoubleClick を直接呼び出OnClickすことができます。 コントロールのクリックとダブルクリックの動作の詳細については、トピックと Control.DoubleClick トピックをControl.Click参照してください。

UseTextForAccessibility ビットが設定され、コントロールの プロパティに値がある場合、そのコントロールTextText プロパティの値によって、コントロールの既定の Active Accessibility 名とショートカット キーが決まります。 それ以外の場合は、前 Label のコントロールのテキストが代わりに使用されます。 このスタイルは既定で設定されます。 や ComboBoxなどのTextBox特定の組み込みコントロールの種類では、これらのコントロールのプロパティが Text Active Accessibility で使用されないように、このスタイルをリセットします。

適用対象

こちらもご覧ください