gpt4 book ai didi

.net - ToolStrip的RenderMode属性如何处理?

转载 作者:行者123 更新时间:2023-12-04 03:31:17 27 4
gpt4 key购买 nike

我从不完全了解此属性的用途。我可以看到它明显改变了工具栏的设计,并且我发现在Windows XP上将其设置为System使其更适合WinForms样式。

这里有更深层的含义吗?呈现控件的方式是否会根本改变,您建议使用哪种模式?

谢谢。

最佳答案

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

只要确保在您的Form Load事件或使用工具栏之前调用的其他区域中,将自定义渲染器分配给工具栏即可:
  myToolStrip.Renderer = New CustomProfessionalRenderer()

关于.net - ToolStrip的RenderMode属性如何处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/993061/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com