c# - 使用按钮大小制作背景图像比例

标签 c# winforms user-interface

我正在尝试向我的 Win Forms 应用程序中的几个按钮添加一些背景图像。三张图片大小不同(即像素尺寸不匹配,一张是 128x128,另一张是 256x256)。我需要按钮的大小相同(否则 GUI 非常不对称)。在不更改实际图像文件的情况下,如何使图像随按钮大小缩放?

我已经尝试创建自己的类,并为按钮调整大小事件添加事件处理程序,但这似乎不起作用。我的代码:

class CustomButton : Button {

        internal void CustomButton_Resize( object sender, EventArgs e ) {
            if ( this.BackgroundImage == null ) {
                return;
            }

            var pic = new Bitmap( this.BackgroundImage, this.Width, this.Height );
            this.BackgroundImage = pic;
        }
    }

形式为:

this.buttonOne.Resize += new System.EventHandler(this.buttonOne.CustomButton_Resize);

忘了说,上面的代码根本没有调整图像的大小。按钮仍然需要具有不同的大小才能完整显示图像。

最佳答案

将背景图像添加到 .NET Button 对象并将其缩放以适合的最简单方法

我使用此方法来避免对新类和事件处理程序进行任何额外编码。这也帮助我避免将所有 Button 对象转换为 Image 对象。

  1. 将图像添加到您的 Resources.resx 文件。

  2. 点击您选择的按钮。

  3. 导航到 BackgroundImage 属性并选择您导入到项目的 resources.resx 文件中的图像。

  4. 导航到 BackgroundImageLayout 属性并选择 Stretch

确保您没有为 ImageText 属性输入任何内容,否则它们会干扰您的新背景图像。

关于c# - 使用按钮大小制作背景图像比例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13357032/

相关文章:

c# - 简单的剑道 UI 按钮

.net - 在 OpenFileDialog (WindowsAPICodePack) 上设置 'My Computer' 位置

java - 在Java中使用Slider,如何检测 slider 是向右还是向左变化?

jQuery UI 自动完成 - 工具提示显示列表中的所有条目,即使不匹配

Android UI 控件套件?

c# - 高效检索和过滤文件

c# - 2018 年如何保护我的 .NET Core 2.1 代码免遭逆向工程

c# - WPF 功能区控件

c# - 文本区域和超链接?

c# - 区分用户更改 Checkbox.Checked 值,还是以编程方式更改