Искаженные изображения при использовании ImageList на ToolStripButton
Я хочу поместить несколько изображений в ToolStripButton
и изображения меняются в зависимости от состояния кнопки.
Итак, я установил .ImageList
из ToolStrip
быть моим ImageList
и просто изменить ToolStripButton.ImageIndex
на соответствующее значение.
Однако значки выглядят искаженными по сравнению с предоставлением точно такого же изображения непосредственно ToolStripButton.Image
имущество.
На картинке ниже изображение с левой стороны ImageList
тот, что справа устанавливается ToolStripButton.Image
, Как вы можете видеть, слева показано несколько маленьких нечетных пикселей, особенно видимых при нажатии кнопки.
Я пытался изменить TransparencyColor
а также ColorDepth
но это не имеет никакого значения. Какие-нибудь подсказки относительно того, что я пропускаю?
2 ответа
Попробуйте установить AutoSize
в false
а также ImageScaling
в ToolStripItemImageScaling.None
,
Вы можете выложить картинки в Ресурсы и заменить
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
PS Код находится в
VB.NET
но вы поймете суть.