这是我的第一篇文章,所以如果我做错了什么,我道歉: - )
我对编码有点了解,但我是C#的新手。我创建了一个表单,我想在单击“更改背景”按钮时在两个不同图像之间切换BackgroundImage形式。我发现这个代码将在图像和没有图像之间切换:
this.BackgroundImage = this.BackgroundImage == null ? Properties.Resources.image1 : null;
我以为我可以用它来达到我想要的效果,但我无法让它发挥作用。我猜我需要完全不同的代码?我认为“if”声明是要走的路,但我也无法解决这个问题。
提前感谢您的帮助。
答案 0 :(得分:0)
想象一下,你想在2张图片之间切换。使用标志确定哪一个已启动,然后根据该标志更改图像。
private int imgId=0;
然后button_click应该包含:
this.BackgroundImage = imgId==0 ? Properties.Resources.image2 : Properties.Resources.image1;
imgId=imgId==0 ?1: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;
}
}