在ToolStripButton

时间:2016-02-29 22:19:24

标签: c# .net toolstrip toolstripbutton

我想将一些图像放入ToolStripButton,并根据按钮的状态改变图像。

因此,我已将.ImageList的{​​{1}}设为我的ToolStrip,只需将ImageList更改为适当的值。

然而,与直接向ToolStripButton.ImageIndex属性提供完全相同的图片相比,图标显得扭曲。

在下图中,左侧的图像是ToolStripButton.Image中的图像,右侧的图像是通过ImageList设置的。如您所见,左侧的像素有一些小的奇数像素,当选择按钮时特别可见。

我尝试修改ToolStripButton.ImageTransparencyColor,但这没有任何区别。关于我失踪的任何线索?

Odd icons

2 个答案:

答案 0 :(得分:1)

尝试将AutoSize设为false,将ImageScaling设为ToolStripItemImageScaling.None

答案 1 :(得分:0)

可以把图片放在资源里,用ImageList代替Dictionary吗?在这种情况下,图片将与原始图片相同。

Dim dictPictures As New Dictionary(Of String, Bitmap)
Dim runTimeResourceSet As Object
Dim dictEntry As DictionaryEntry
runTimeResourceSet = My.Resources.ResourceManager.GetResourceSet(System.Globalization.CultureInfo.CurrentCulture, True, True)
For Each dictEntry In runTimeResourceSet
    If (dictEntry.Value.GetType() Is GetType(Bitmap)) Then
        If Not dictPictures.ContainsKey(dictEntry.Key & ".png") Then dictPictures.Add(dictEntry.Key & ".png", dictEntry.Value)
    End If
Next

附言代码在 VB.NET 中,但您会明白这一点。