VB.NET MENUSTRIP 在运行时不支持 ImageScaling



我正在尝试实现带有菜单条的"标志"。

我有一个带有红旗和黑旗的图像列表。

当我单击菜单项时,我想切换图像。我遇到的问题是,一旦我更改图像,它就会想要做 SizeToFit,这使得图标大致是文本的高度。 我不想这样。我希望图像是其实际大小。

我尝试将语句按不同的顺序排列,但我尝试过的似乎都不起作用。

目前,我在设计时将按钮设置为黑旗。 此代码显示我尝试更改为危险标志。

 tsbFlagPatient.Image = ilFlags.Images(1)
 tsbFlagPatient.ImageScaling = ToolStripItemImageScaling.None
 tsbFlagPatient.DisplayStyle = ToolStripItemDisplayStyle.Image

[如果有更好的方法来切换图像,我对此持开放态度。这似乎是一个单独的问题。]

我无法使图像滚动工作。由于我在这里不需要文本,所以我使用了背景图像并设置

BackgroundImageLayout = Stretch

这允许图像大小合适。您可以打开自动大小 = false,然后手动设置高度、宽度以微调菜单的大小。

我确实重新考虑了图像列表,并将图像更改为存储在项目资源中。这是切换图像的代码

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

这对这里提出的问题没有影响。一般来说,可能比拥有图像列表更好,因为所有表单都可以访问它。

相关内容

  • 没有找到相关文章

最新更新