我正在尝试实施一个标记'有一个menustrip。
我有一张带红旗和黑旗的图像列表。
单击菜单项时,我想切换图像。 我遇到的问题是,一旦我改变图像,它就想做SizeToFit,这使得Icon大致成为文本的高度。我不想那样。我希望Image是它的实际大小。
我试过把这些陈述用不同的顺序,我试过的似乎没什么用。
目前,我在设计时将按钮设置为黑旗。 此代码显示我尝试更改为红旗。
tsbFlagPatient.Image = ilFlags.Images(1)
tsbFlagPatient.ImageScaling = ToolStripItemImageScaling.None
tsbFlagPatient.DisplayStyle = ToolStripItemDisplayStyle.Image
[如果有更好的方法来切换图像,我会对此开放。这似乎是一个单独的问题。 ]
答案 0 :(得分:0)
我无法使ImageScrolling工作。 由于我不需要文本,我使用BackGround Image并设置
BackgroundImageLayout = Stretch
这样可以使图像尺寸合适。 您可以打开AutoSize = false,然后手动设置高度,宽度以微调菜单的大小。
我确实重新考虑了ImageList并将图像更改为存储在项目资源中。这是切换图像的代码
Public Sub SetFlagImage(flagSet As Boolean)
If flagSet = False Then
btnFlag.BackgroundImage = My.Resources.appbar_flag_wavy_black
btnFlag.BackgroundImage.Tag = "black"
Else
btnFlag.BackgroundImage = My.Resources.appbar_flag_wavy_red
btnFlag.BackgroundImage.Tag = "red"
End If
End Sub
这对这里提出的问题没有影响。通常,可能比拥有图像列表更好,因为所有表单都可以访问它。