【问题标题】:How can I make the image size smaller on a button?如何使按钮上的图像尺寸变小?
【发布时间】:2011-09-12 09:43:44
【问题描述】:

我有一个按钮,我希望它上面存在图像(.ico 文件)和文本。我的问题是我希望按钮的高度很小,但我无法尽可能地“缩小”图像。结果是在按钮上显示了一块图像,而不是孔图像。在图像属性中,图像大小是固定的(48x48),选项是灰色的,所以我不能改变它。我怎样才能使这个图像成为 16x16?

【问题讨论】:

    标签: c# .net winforms


    【解决方案1】:

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

    【讨论】:

    • 谢谢你的回答,不过我已经试过了,还是不行。
    • 看起来您将 .ico 设置为 button.image 而不是 button.backgroundimage;如果是这样,请告诉我。
    • 是的,背景图像可以居中、缩放、平铺等,你是对的,我使用的是图像而不是背景图像。但有趣的想法是,我使用与工具条按钮完全相同的属性和图像大小。那里的想法还可以,在这里我无法做我想做的事。当我按照您的建议使用背景图像时,“缩放”接缝是一个正确的设置,但将图像保持在按钮的中心并且不能向左或向右
    • 我刚刚看到一个普通的按钮没有工具条按钮那样的“显示样式”属性。
    【解决方案2】:

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

    【讨论】:

    • 我认为它回答了这个问题......谢谢
    • 谢谢!。我认为这比@Z​​aphood 建议的解决方案更好
    【解决方案3】:

    我认为如果您使用 Button 的 Paint 事件,您可以绘制任意大小的任意图像。如果无法重新调整图像大小,您可以这样做。

    【讨论】:

      【解决方案4】:

      如果您有尺寸为 16*16 的图像,请在设计时设置这些按钮属性。 1) TextImageRelation - ImageBeforeText 2) TextAlign - MiddleRight 3) ImageAlign - MiddleLeft 4) 设置

      【讨论】:

        【解决方案5】:

        如果您使用的是 DevExpress 简单按钮,则应设置 BackgroundImageLayout = ImageLayout.Zoom 并将按钮的背景颜色设置为 透明(来自 Appereance->Backcolor

        【讨论】:

          【解决方案6】:
          ImageList imageList = new ImageList();
          imageList.ImageSize = new Size(30, 30); // specify size you want
          

          【讨论】:

          • 欢迎来到 StackOverflow。虽然这段代码可以解决问题,including an explanation 解决问题的方式和原因确实有助于提高帖子的质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人。请edit您的回答添加解释并说明适用的限制和假设。
          • 要添加到@fcdt 的评论,也请看这里:How do I write a good answer
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-12-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多