ControlStyles 列挙体とは? わかりやすく解説

ControlStyles 列挙体

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

この列挙体には、メンバ値のビットごとの組み合わせ可能にする FlagsAttribute 属性含まれています。

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

<FlagsAttribute> _
Public Enumeration ControlStyles
Dim instance As ControlStyles
[FlagsAttribute] 
public enum ControlStyles
[FlagsAttribute] 
public enum class ControlStyles
/** @attribute FlagsAttribute() */ 
public enum ControlStyles
FlagsAttribute 
public enum ControlStyles
メンバメンバ
 メンバ説明
AllPaintingInWmPainttrue場合コントロールウィンドウ メッセージ WM_ERASEBKGND を無視することによって、ちらつき抑えます。このスタイルは、UserPaint ビットtrue設定されている場合だけ適用されます。 
CacheTexttrue場合コントロールは、必要に応じて毎回 Handle からテキストコピー取得するではなくテキストコピー保持します。このスタイルは、既定では false設定されます。この動作によってパフォーマンス向上しますが、テキスト同期させておくことが難しくなります。 
ContainerControltrue場合コントロールは、コンテナのような機能果たします。 
DoubleBuffertrue場合描画バッファ実行され完了後に、結果画面出力されます。ダブル バッファリングは、コントロール描画によるちらつき防ぎます。DoubleBuffer を true設定した場合は、UserPaint および AllPaintingInWmPainttrue設定する必要があります。 
EnableNotifyMessagetrue場合コントロールの WndProc に送信されすべてのメッセージに対して OnNotifyMessage メソッド呼び出されます。このスタイルは、既定false設定されます。部分信頼では、EnableNotifyMessage は正常に機能しません。 
FixedHeighttrue場合は、自動スケールされるとき、コントロールの高さが固定されます。たとえば、新しFont挿入できるようにレイアウト操作コントロールを再スケールようとしても、コントロールHeight変更されません。 
FixedWidthtrue場合自動スケールされるとき、コントロールの幅固定されます。たとえば、新しFont挿入できるようにレイアウト操作コントロールを再スケールようとしても、コントロールWidth変更されません。 
Opaquetrue場合は、コントロール不透明に描画され背景描画されません。 
OptimizedDoubleBuffertrue場合コントロールは、画面直接ではなく、まずバッファ描画されます。これにより、ちらつき抑えることができます。このプロパティtrue設定した場合は、AllPaintingInWmPainttrue設定する必要があります。 
ResizeRedrawtrue場合は、コントロールサイズ変更されると、そのコントロールが再描画されます。 
Selectabletrue場合コントロールフォーカス受け取ることができます。 
StandardClicktrue場合コントロールは、標準Click 動作実装ます。 
StandardDoubleClicktrue場合コントロールは、標準DoubleClick 動作実装ます。StandardClick ビットtrue設定されている場合、このスタイル無視されます。 
SupportsTransparentBackColortrue場合コントロールは、アルファ値255 未満BackColor受け入れ透明度シミュレートます。この透明度は、UserPaint ビットtrue設定され、親コントロールControl から派生している場合だけシミュレートされます。 
UserMousetrue場合は、コントロールマウス操作独自に処理しオペレーティング システムではマウス イベント処理されません。 
UserPainttrue場合は、コントロールは、オペレーティング システムによってではなく独自に描画されます。false場合Paint イベント発生しません。このスタイルは、Control から派生したクラスだけに適用されます。 
UseTextForAccessibilityコントロールText プロパティの値を指定します設定した場合コントロール既定Active Accessibility 名とショートカット キー決定されます。 
解説解説

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

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

AllPaintingInWmPaint ビットtrue設定されている場合ウィンドウ メッセージ WM_ERASEBKGND は無視され、OnPaintBackground メソッドと OnPaint メソッド両方が、ウィンドウ メッセージ WM_PAINT から直接呼び出されます。通常はこの動作によって、ほかのコントロールウィンドウ メッセージ WM_ERASEBKGND をコントロール送信しない限りちらつき抑えることができますウィンドウ メッセージ WM_ERASEBKGRND を送信すると、SupportsTransparentBackColor を使用した場合同じような透明効果シミュレートできます。たとえば、フラットな外観設定した ToolBar に、この効果適用できます

ダブル バッファリングを完全に有効にするには、OptimizedDoubleBuffer ビットおよび AllPaintingInWmPaint ビットtrue設定する必要があります。ただし、コントロールの DoubleBuffered プロパティtrue にしても同じ結果を得ることができますダブル バッファリングを有効する方法としては、こちらをお勧めます。

SupportsTransparentBackColor ビットtrue設定されBackColorアルファ値255 未満の色が設定されている場合OnPaintBackground は、親コントロール背景描画させることによって透明効果シミュレートます。これによって実現される透明度は、実際の透明ではありません。

メモメモ

コントロールと親コントロールの間に別のコントロールがある場合現在のコントロールには、間にあるコントロール表示されません。

UserMouse ビットtrue設定されている場合は、Control.OnMouseDown メソッド、Control.OnMouseUp メソッド、Control.OnMouseEnter メソッド、Control.OnMouseMove メソッド、Control.OnMouseHover メソッド、Control.OnMouseLeave メソッド、および Control.OnMouseWheel メソッド引き続き呼び出されます。

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

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

継承時の注意 標準Windows フォーム コントロールか継承しStandardClick ビット値または StandardDoubleClick ビット値を true変更すると、コントロールClick イベントまたは DoubleClick イベントサポートしてない場合は、予測できない動作が行われたり、何の効果得られなかったりします

使用例使用例

ControlStyles を StyleChanged イベントと共に使用する例を次に示します

' 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
// 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");
}
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"
 );
   }
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
System.Windows.Forms 名前空間
Control.SetStyle
Control.GetStyle



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ControlStyles 列挙体」の関連用語

ControlStyles 列挙体のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ControlStyles 列挙体のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS