2009-06-14 10 views
10

私はこのプロパティが何のために設計されたのか全く分かりません。私はそれが視覚的にツールストリップのデザインを変更することがわかりました.Windows XP上のSystemに設定すると、WinFormsスタイルの方がはるかに優れています。ToolStripのRenderModeプロパティはどうですか?

ここではさらに深い意味がありますか?コントロールがレンダリングされる方法はまったく変更され、どのモードを使用することをお勧めしますか?

ありがとうございました。

答えて

13

RenderModeプロパティを使用すると、開発者はToolStrip(またはContextMenu)の表示を正確に制御できます。 RenderModeをManagerRenderModeに設定すると、カスタムレンダラーを作成して、ToolStripの外観をカスタマイズすることができます。たとえば、以下のコードでは、ContextMenu内の項目の背景として灰色のグラデーションが描画されています。

Class CustomProfessionalRenderer 
    Inherits ToolStripProfessionalRenderer 

    Protected Overrides Sub OnRenderMenuItemBackground(ByVal e As ToolStripItemRenderEventArgs) 
     Dim r As Rectangle = e.Item.ContentRectangle 

     If e.Item.Selected Then 
     Dim b = New LinearGradientBrush(r, Color.FromArgb(255, 227, 224, 215), Color.White, LinearGradientMode.Vertical) 
     Try 
      e.Graphics.FillRectangle(b, e.Item.ContentRectangle) 
     Finally 
      b.Dispose() 
     End Try 
     End If 
    End Sub 

End Class 

ちょうどあなたのフォームのLoadイベント、またはのToolStripが使用される前に呼び出され、いくつかの他の領域に、カスタムレンダラがあなたのToolStripに割り当てていることを確認してください:なしでそれを行う方法

myToolStrip.Renderer = New CustomProfessionalRenderer() 
+0

Mose Overイベント –

関連する問題