我正在尝试向我的 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);
忘了提一下,上面的代码根本没有调整图像的大小。按钮仍然需要具有不同的大小才能完全显示图像。