如何在按钮上缩小图像尺寸?

61

我有一个按钮,我想要在上面放置图像(.ico文件)和文本。我的问题是,我希望按钮的高度很小,但是我无法使图像缩小到我想要的程度。结果是在按钮上只能看到部分图像而不是整个图像。在图像属性中,图像大小是固定的(48x48),选项为灰色,因此我无法更改它。如何将此图像设置为16x16?

6个回答

97

尝试 buttonname.BackgroundImageLayout = ImageLayout.Stretch; 或在设计器中更改此属性。


4
谢谢你的答复,但我已经尝试过了,它不起作用。 - alexxx
12
看起来你把.ico文件设置为按钮的图像(button.image)而不是背景图片(button.backgroundimage);如果是这样,请告诉我。 - Zaphood
是的,背景图像可以居中、缩放、平铺等,你说得对,我使用的是图像而不是背景图像。但有趣的是,我使用了与工具栏按钮相同的属性和图像大小。那里的事情都没问题,但在这里我无法做到我想要的。当我按照你建议的使用背景图像时,“缩放”似乎是一个合适的设置,但它会将图像保持在按钮的中心,不能向左或向右移动。 - alexxx
我刚刚看到一个普通按钮没有像工具栏按钮一样的“显示样式”属性。 - alexxx
2
你必须使用背景图片而非前景图片,才能使该解决方案正常工作。 - Oliver Konig

36

我的解决方案是使用一个ImageList控件。您可以定义要显示的图像的大小(例如,我将ImageList ImageSize属性设置为16x16),然后设置button.ImageList和ImageIndex属性,而不是Image属性。


1
我认为这回答了问题...谢谢 - Ali
3
谢谢!我认为这比@Zaphood建议的解决方案更好。 - Troncho

1
我认为如果您使用按钮的Paint事件,您可以绘制任何大小的任何图像。如果无法调整图像大小,则可以通过这种方式进行操作。

0
ImageList imageList = new ImageList();
imageList.ImageSize = new Size(30, 30); // specify size you want

3
欢迎来到StackOverflow。虽然这段代码可能解决了问题,但包括解释它是如何解决问题的,这将有助于提高您的帖子质量并可能导致更多的赞。请记住,你正在回答未来读者的问题,而不仅仅是现在提问的人。请[编辑]您的答案以添加解释,并说明哪些限制和假设适用。 - fcdt
请参考@fcdt的评论,并在此处查看:如何撰写一个好的答案 - Steak Overflow

0
如果您有大小为16*16的图像,则在设计时设置以下按钮属性。 1) TextImageRelation - ImageBeforeText 2) TextAlign - MiddleRight 3) ImageAlign - MiddleLeft 4) 设置


-1
如果您正在使用DevExpress Simple Button,您应该将BackgroundImageLayout设置为ImageLayout.Zoom,并将按钮的BackColor设置为Transparent(从外观->BackColor)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接