ControlStyles ControlStyles ControlStyles ControlStyles Enum


コントロールのスタイルと動作を指定します。Specifies the style and behavior of a control.

この列挙型には FlagsAttribute 属性があり、メンバー値ではビットごとの組み合わせを使用できます。

public enum class ControlStyles
public enum ControlStyles
type ControlStyles = 
Public Enum ControlStyles


AllPaintingInWmPaint AllPaintingInWmPaint AllPaintingInWmPaint AllPaintingInWmPaint 8192

true の場合、コントロールはウィンドウ メッセージ WM_ERASEBKGND を無視することによって、ちらつきを抑えます。If true, the control ignores the window message WM_ERASEBKGND to reduce flicker. このスタイルは、UserPaint ビットが true に設定されている場合だけ適用されます。This style should only be applied if the UserPaint bit is set to true.

CacheText CacheText CacheText CacheText 16384

true の場合、コントロールは、必要に応じて毎回 Handle からテキストのコピーを取得するのではなく、テキストのコピーを保持します。If true, the control keeps a copy of the text rather than getting it from the Handle each time it is needed. このスタイルは、既定では false に設定されます。This style defaults to false. この動作によってパフォーマンスは向上しますが、テキストを同期させておくことが難しくなります。This behavior improves performance, but makes it difficult to keep the text synchronized.

ContainerControl ContainerControl ContainerControl ContainerControl 1

true の場合、コントロールはコンテナーのような機能を果たします。If true, the control is a container-like control.

DoubleBuffer DoubleBuffer DoubleBuffer DoubleBuffer 65536

true の場合、描画はバッファーで実行され、完了後に、結果が画面に出力されます。If true, drawing is performed in a buffer, and after it completes, the result is output to the screen. ダブル バッファリングは、コントロールの描画によるちらつきを防ぎます。Double-buffering prevents flicker caused by the redrawing of the control. DoubleBuffertrue に設定した場合は、UserPaint および AllPaintingInWmPainttrue に設定する必要があります。If you set DoubleBuffer to true, you should also set UserPaint and AllPaintingInWmPaint to true.

EnableNotifyMessage EnableNotifyMessage EnableNotifyMessage EnableNotifyMessage 32768

true の場合、コントロールの WndProc(Message) に送信されたすべてのメッセージに対して OnNotifyMessage(Message) メソッドが呼び出されます。If true, the OnNotifyMessage(Message) method is called for every message sent to the control's WndProc(Message). このスタイルは、既定では false に設定されます。This style defaults to false. 部分信頼では、EnableNotifyMessage は正常に機能しません。EnableNotifyMessage does not work in partial trust.

FixedHeight FixedHeight FixedHeight FixedHeight 64

true の場合、自動スケールされるときにコントロールの高さが固定されます。If true, the control has a fixed height when auto-scaled. たとえば、新しい Font を挿入できるようにレイアウト操作でコントロールを再スケールしようとしても、コントロールの Height は変更されません。For example, if a layout operation attempts to rescale the control to accommodate a new Font, the control's Height remains unchanged.

FixedWidth FixedWidth FixedWidth FixedWidth 32

true の場合、自動スケールされるときにコントロールの幅が固定されます。If true, the control has a fixed width when auto-scaled. たとえば、新しい Font を挿入できるようにレイアウト操作でコントロールを再スケールしようとしても、コントロールの Width は変更されません。For example, if a layout operation attempts to rescale the control to accommodate a new Font, the control's Width remains unchanged.

Opaque Opaque Opaque Opaque 4

true の場合、コントロールは不透明に描画され、背景は描画されません。If true, the control is drawn opaque and the background is not painted.

OptimizedDoubleBuffer OptimizedDoubleBuffer OptimizedDoubleBuffer OptimizedDoubleBuffer 131072

true の場合、コントロールは、画面に直接ではなく、まずバッファーに描画されます。これにより、ちらつきを抑えることができます。If true, the control is first drawn to a buffer rather than directly to the screen, which can reduce flicker. このプロパティを true に設定した場合は、AllPaintingInWmPainttrue に設定する必要があります。If you set this property to true, you should also set the AllPaintingInWmPaint to true.

ResizeRedraw ResizeRedraw ResizeRedraw ResizeRedraw 16

true の場合、コントロールのサイズが変更されると、そのコントロールが再描画されます。If true, the control is redrawn when it is resized.

Selectable Selectable Selectable Selectable 512

true の場合、コントロールはフォーカスを受け取ることができます。If true, the control can receive focus.

StandardClick StandardClick StandardClick StandardClick 256

true の場合、コントロールは標準の Click 動作を実装します。If true, the control implements the standard Click behavior.

StandardDoubleClick StandardDoubleClick StandardDoubleClick StandardDoubleClick 4096

true の場合、コントロールは標準の DoubleClick 動作を実装します。If true, the control implements the standard DoubleClick behavior. StandardClick ビットが true に設定されていない場合、このスタイルは無視されます。This style is ignored if the StandardClick bit is not set to true.

SupportsTransparentBackColor SupportsTransparentBackColor SupportsTransparentBackColor SupportsTransparentBackColor 2048

true の場合、コントロールはアルファ値が 255 未満の BackColor を受け入れ、透明度をシミュレートします。If true, the control accepts a BackColor with an alpha component of less than 255 to simulate transparency. この透明度は、UserPaint ビットが true に設定され、親コントロールが Control から派生している場合だけシミュレートされます。Transparency will be simulated only if the UserPaint bit is set to true and the parent control is derived from Control.

UserMouse UserMouse UserMouse UserMouse 1024

true の場合は、コントロールがマウスの操作を独自に処理し、オペレーティング システムではマウス イベントが処理されません。If true, the control does its own mouse processing, and mouse events are not handled by the operating system.

UserPaint UserPaint UserPaint UserPaint 2

true の場合、コントロールはオペレーティング システムによってではなく、独自に描画されます。If true, the control paints itself rather than the operating system doing so. false の場合、Paint イベントは発生しません。If false, the Paint event is not raised. このスタイルは、Control から派生したクラスだけに適用されます。This style only applies to classes derived from Control.

UseTextForAccessibility UseTextForAccessibility UseTextForAccessibility UseTextForAccessibility 262144

コントロールの Text プロパティの値を指定します。設定した場合、コントロールの既定の Active Accessibility 名とショートカット キーが決定されます。Specifies that the value of the control's Text property, if set, determines the control's default Active Accessibility name and shortcut key.

次の例を使用してControlStylesで、StyleChangedイベント。The following example demonstrates a use of ControlStyles with the StyleChanged event.

   // 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 'MyForm_Load

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

' 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 'MyForm_StyleChanged


コントロールは、機能を指定するのにさまざまなプロパティとメソッドでこの列挙を使用します。Controls use this enumeration in various properties and methods to specify functionality. コントロールは、スタイルを有効に呼び出すことによって、SetStyleメソッドを渡すことで、適切なControlStylesビット (またはビット) と、ビットに設定するブール値。A control can enable a style by calling the SetStyle method and passing in the appropriate ControlStyles bit (or bits) and the Boolean value to set the bit(s) to. たとえば、次の Visual Basic のコード行では、ダブル バッファリングが有効にします。For example, the following line of Visual Basic code would enable double-buffering.

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

AllPaintingInWmPaint ビットに設定されている場合true、ウィンドウ メッセージ WM_ERASEBKGND を無視すると、および両方OnPaintBackgroundOnPaintメソッドは、ウィンドウ メッセージ WM_PAINT から直接呼び出されます。If the AllPaintingInWmPaint bit is set to true, the window message WM_ERASEBKGND is ignored, and both OnPaintBackground and OnPaint methods are called directly from the window message WM_PAINT. これは他のコントロールがコントロールにウィンドウ メッセージ WM_ERASEBKGND を送信しない限り、ちらつき一般に減少します。This generally reduces flicker unless other controls send the window message WM_ERASEBKGND to the control. SupportsTransparentBackColor; のような擬似透過的な効果を実現するウィンドウ メッセージ WM_ERASEBKGRND を送信する可能性があります。たとえば、ToolBarフラットな外観はこれです。You might send the window message WM_ERASEBKGRND to achieve a pseudo-transparent effect similar to SupportsTransparentBackColor; for example, a ToolBar with flat appearance does this.

ダブル バッファリングを完全に有効に OptimizedDoubleBuffer AllPaintingInWmPaint ビットを設定できますtrueします。To fully enable double-buffering, you can set the OptimizedDoubleBuffer and AllPaintingInWmPaint bits to true. ただし、同じ結果を生成するには、ダブル バッファリングを有効にするための推奨される方法が設定するのには、DoubleBufferedプロパティ、コントロールはtrueします。However the preferred method for enabling double buffering, which yields the same result, is to set the DoubleBuffered property for the control to true.

SupportsTransparentBackColor ビットに設定されている場合true、およびBackColor色のアルファ コンポーネントは、255 未満に設定されているOnPaintBackground背景を描画するには、その親コントロールを要求することによって透過性をシミュレートします。If the SupportsTransparentBackColor bit is set to true, and the BackColor is set to a color whose alpha component is less than 255, OnPaintBackground will simulate transparency by asking its parent control to paint the background. これは完全な透過性ではありません。This is not true transparency.


コントロールとその親の間に別のコントロールがある場合、現在のコントロールの中央にコントロールは表示されません。If there is another control between the control and its parent, the current control will not show the control in the middle.

UserMouse ビットに設定した場合true、次のメソッドが呼び出されます。 Control.OnMouseDownControl.OnMouseUpControl.OnMouseEnterControl.OnMouseMoveControl.OnMouseHoverControl.OnMouseLeave、とControl.OnMouseWheelします。When the UserMouse bit is set to true, the following methods are still called: Control.OnMouseDown, Control.OnMouseUp, Control.OnMouseEnter, Control.OnMouseMove, Control.OnMouseHover, Control.OnMouseLeave, and Control.OnMouseWheel.

コントロールがクリックされたとき、させるビットが設定されている場合trueControl.OnClickメソッドが呼び出され、生成、Control.Clickイベント。When the control is clicked, if the StandardClick bit is set to true the Control.OnClick method is called and it raises the Control.Click event. コントロールがダブルクリックされたときとさせると StandardDoubleClick の両方のビットに設定されますtrueに渡され、クリック、DoubleClickイベント。When the control is double-clicked, and both the StandardClick and StandardDoubleClick bits are set to true, the click is passed on to the DoubleClick event. 次に、Control.OnDoubleClickメソッドが呼び出され、生成、Control.DoubleClickイベント。Then the Control.OnDoubleClick method is called and it raises the Control.DoubleClick event. ただし、コントロールを呼び出すことができますOnClickまたはOnDoubleClick直接させると StandardDoubleClick に関係なくビット値。However, the control can call OnClick or OnDoubleClick directly regardless of the StandardClick and StandardDoubleClick bit values. コントロールの詳細については をクリックしておよびダブルクリック動作を参照してください、Control.ClickControl.DoubleClickトピック。For more information on control click and double click behaviors, see the Control.Click and Control.DoubleClick topics.

UseTextForAccessibility ビットが設定し、コントロールの値があるTextプロパティ、そのコントロールの値Textプロパティ、コントロールの既定の Active Accessibility 名とショートカット キーを決定します。When the UseTextForAccessibility bit is set and there is a value in the control's Text property, the value of that control's Text property determines the control's default Active Accessibility name and shortcut key. それ以外の場合、前のテキストLabelコントロールが使用されます。Otherwise, the text of the preceding Label control will be used instead. 既定では、このスタイルを設定します。This style is set by default. などの特定の組み込みのコントロール型TextBoxComboBox、このスタイルをリセットできるように、 Text Active Accessibility によってそれらのコントロールのプロパティは使用されません。Certain built-in control types, such as TextBox and ComboBox, reset this style so that the Text property of those controls will not be used by Active Accessibility.