【发布时间】:2015-02-01 06:22:18
【问题描述】:
我有一个简单的问题,我一直在努力解决理论上应该很简单的事情。
我想在 Visual Studio 2012 的图片框中创建一个动态按钮,每次单击它都会更改图像。
if (pictureBox4.BackgroundImage == MyProject.Properties.Resources._1)
pictureBox4.BackgroundImage = MyProject.Properties.Resources._2;
else if (pictureBox4.BackgroundImage == MyProject.Properties.Resources._2)
pictureBox4.BackgroundImage = MyProject.Properties.Resources._1;
现在,这并不能正常工作。它不会检测到当前正在显示的图像并输入if 语句。所以,相反,我以这种方式对其进行了测试。
int b = 1;
if (b == 1)
{
pictureBox4.BackgroundImage = MyProject.Properties.Resources._2;
b = 2;
}
if (b == 2)
{
pictureBox4.BackgroundImage = MyProject.Properties.Resources._1;
b = 1;
}
关门……但没有雪茄。当我点击它时,图像确实会改变,但只有一次;如果我再次单击它,它会保持不变...
那么……现在呢?感谢您的回答。
【问题讨论】:
-
第一行 (int b = 1;) 是在您的事件处理程序方法中还是对类来说是全局的?
-
global,在课堂上,对不起,我忘了说明,把它放在事件处理程序中会很愚蠢......呵呵
-
在每个 if 之前添加一个 else 子句,否则它将不起作用 ;-) (因为第一个更改将使第二个更改为 true 并且它会恢复该更改等。)
-
你真的在两个 if 子句中都使用了这一行吗? pictureBox4.BackgroundImage = MyProject.Properties.Resources._2;
标签: c# visual-studio visual-studio-2012 picturebox