12

このプロパティが何のために設計されているのか、私にはよくわかりませんでした。ツールストリップのデザインが視覚的に変更されていることがわかります。また、Windows XP でシステムに設定すると、WinForms スタイルによりよく適合することがわかります。

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

ありがとう。

4

1 に答える 1

15

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

フォームロードイベント、またはツールストリップが使用される前に呼び出されるその他の領域で、カスタムレンダラーをツールストリップに割り当てることを確認してください。

  myToolStrip.Renderer = New CustomProfessionalRenderer()
于 2009-06-14T16:06:27.617 に答える