我正在尝试向 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 对象。
将图像添加到您的 Resources.resx 文件中。
单击您选择的按钮。
导航至BackgroundImage
属性并选择导入到项目的 resources.resx 文件中的图像。
导航至BackgroundImageLayout
属性并选择Stretch
.
确保您没有输入任何内容Image
and Text
属性,否则它们会干扰您的新背景图像。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)