我有什么方法可以调整/调整ToolStrip项目的图像吗?我已经设置了属性AutoSize = False
,ImageScaling = SizeToFit
& Size = 40, 40
但只有项目的框大小调整(在图片周围留出空格),图片大小仍然是默认大小。
然后我想出了使用BackgroundImage插入图像而不是将其插入Image。我可以调整/调整图像大小,但问题是当我运行系统并将光标指向ToolStrip项目时,项目的图像消失。我找到了此解决方案Resizing ToolStripButtons to fit complete BackGround image,但我不知道如何使用vb.net
请帮助我。谢谢。
答案 0 :(得分:2)
如果您希望图片以原始尺寸显示
AutoSize
的{{1}}属性设置为ToolStrip
true
的{{1}}属性设置为ImageScaling
如果您希望图片以特定尺寸显示
ToolStripItem
的{{1}}属性设置为None
AutoSize
的{{1}}属性设置为您的特定尺寸,例如ToolStrip
true
的{{1}}属性设置为ImageScalingSize
答案 1 :(得分:1)
希望这会有所帮助
Partial Public Class Form1
Inherits Form
Public Sub New()
InitializeComponent()
'using new render instead of def render
toolStrip1.Renderer = New MyRenderer()
End Sub
Private Class MyRenderer
'apply everything of default render
Inherits ToolStripProfessionalRenderer
'this will override the Render Butoon Bg event
Protected Overrides Sub OnRenderButtonBackground(e As ToolStripItemRenderEventArgs)
'if image is nothing then use the def render
If e.Item.BackgroundImage Is Nothing Then
MyBase.OnRenderButtonBackground(e)
Else
'redraw the image to fit the area
Dim bounds As New Rectangle(Point.Empty, e.Item.Size)
e.Graphics.DrawImage(e.Item.BackgroundImage, bounds)
' Something...
If e.Item.Pressed Then
' Something...
ElseIf e.Item.Selected Then
End If
'draw the fit button here
Using pen As New Pen(Color.Black)
e.Graphics.DrawRectangle(pen, bounds.X, bounds.Y, bounds.Width - 1, bounds.Height - 1)
End Using
End If
End Sub
End Class
End Class