C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: VC#の入力候補


(過去ログ 74 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■43575 / inTopicNo.1)  VC#の入力候補
  
□投稿者/ bright (3回)-(2009/11/12(Thu) 22:33:38)

分類:[C#] 

FormのSetStyleにおいて、ControlStylesのDoubleBufferを利用しようと思ったのですが、
なぜか入力候補にDoubleBufferだけ出てきません。

直接打ち込んでカーソルを置くとちゃんと参照されるのですが、なぜ入力候補に出ないのでしょう?
また、自分で追加することは出来るんでしょうか?
引用返信 編集キー/
■43592 / inTopicNo.2)  Re[1]: VC#の入力候補
□投稿者/ よねKEN (423回)-(2009/11/13(Fri) 00:42:53)
No43575 (bright さん) に返信
> FormのSetStyleにおいて、ControlStylesのDoubleBufferを利用しようと思ったのですが、
> なぜか入力候補にDoubleBufferだけ出てきません。
> 直接打ち込んでカーソルを置くとちゃんと参照されるのですが、なぜ入力候補に出ないのでしょう?

ControlStyles.DoubleBufferにはEditorBrowsable属性がEditorBrowsableState.Neverの設定で付加されているためです。
(ControlStylesの)クラス設計者は、EditorBrowsableの設定によりインテリセンスでの表示有無を制御しています。

このことについての詳細は以下のEditorBrowsableAttributeクラスのヘルプ
(http://msdn.microsoft.com/ja-jp/library/system.componentmodel.editorbrowsableattribute(VS.80).aspx)を確認してください。

また、ControlStyles列挙体のヘルプ(http://msdn.microsoft.com/ja-jp/library/system.windows.forms.controlstyles(VS.80).aspx)
には以下のような記述があります。

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

つまり、ControlStyles.DoubleBufferよりControlStyles.OptimizedDoubleBufferがお勧めということのようです。
さらに言えば、Control自体がDoubleBufferedプロパティを持っていますので、SetStyleメソッドを使うまでもなく、単に

Formのインスタンス.DoubleBuffered = True

とするだけで、同様のことができます。

> また、自分で追加することは出来るんでしょうか?

すみません。「自分で追加する」の意味を取り違えているかもしれませんが、
手入力で打ち込めば「ControlStyles.DoubleBuffer」を使うことは可能か?という意味なら、
インテリセンスに表示されないだけで、問題なく使えます。
(インテリセンスに表示されるようにすることは可能か?という意味ならできません)
引用返信 編集キー/
■43631 / inTopicNo.3)  Re[2]: VC#の入力候補
□投稿者/ bright (5回)-(2009/11/13(Fri) 21:29:17)
とても詳しかったです。ありがとうございます。
確かにControlStylesのメタデータを参照するとEditorBrowsableの文字がありました。

「自分で追加する」という点は自分で設定してDoubleBufferを表示させられるかという意味です。
あいまいな表現ですいません。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -