通过单击按钮切换背景图像
本文关键字:背景 图像 按钮 单击 | 更新日期: 2023-09-27 18:36:37
这是我的第一篇文章,所以如果我做错了什么,我深表歉意:-)
我对编码略知一二,但我是 C# 的新手。我已经创建了一个表单,当单击"更改背景"按钮时,我想在两个不同的图像之间切换表单背景图像。我发现这段代码将在图像和无图像之间切换:
this.BackgroundImage = this.BackgroundImage == null ? Properties.Resources.image1 : null;
我以为我可以使用它来实现我想要的东西,但我无法让它工作。我猜我需要完全不同的代码?我以为"如果"语句是要走的路,但我也无法弄清楚。
提前感谢任何帮助。
想象一下,您想在 2 张图像之间切换。使用标志确定哪个标志已启动,然后根据该标志更改图像。
private int imgId=0;
然后button_click应包含:
this.BackgroundImage = imgId==0 ? Properties.Resources.image2 : Properties.Resources.image1;
imgId=imgId==0 ?1:0;
this.BackgroundImage = this.BackgroundImage == null ? Properties.Resources.image1 : null;
检查背景是否为 null,如果为 null,则返回图像,否则返回 null。您可以使用此代码来解决您的问题,但我建议您创建一个变量来检查而不是两个图像。完整图像上的相等运算符不是那么高性能;)
我将尝试在这里非常清楚地编写代码,并将困难的 if 运算符排除在外,以便更好地理解。
//This variable doesn't erase if it's outside the function
private bool firstImage = true;
public function SwitchImage(){
if (firstImage == true){
//set background
this.BackgroundImage = Properties.Resources.image2
//update var
firstImage = false;
} else {
//set background
this.BackgroundImage = Properties.Resources.image1
//update var
firstImage = true;
}
}