我希望在按钮点击时将图片移到另一个图片框中,反之亦然,我非常确定我的代码应该在理论上工作,但它只是因为某些原因而无法执行。任何帮助将非常感谢请!! 这是我的代码:
int chicken_move = 0;
private void button_Chicken_Click(object sender, EventArgs e)
{
chicken_move++;
if (chicken_move > 1)
{
chicken_move = 0;
}
switch (chicken_move)
{
case 0:
pictureBox_Micro.Image = pictureBox_Uncooked.Image;
pictureBox_Uncooked.Image = null;
break;
case 1:
pictureBox_Uncooked.Image = pictureBox_Micro.Image;
pictureBox_Micro.Image = null;
break;
}
答案 0 :(得分:2)
您需要使用交换技术来更改图片。否则,您在第一次点击后就会丢失它。
public partial class Form1 : Form
{
private bool isFirstOne;
Image forSwap;
public Form1()
{
InitializeComponent();
string path1 = @"C:\Users\...\...\somePic.png";
pictureBox1.Image = Image.FromFile(path1);
forSwap = null;
isFirstOne = false;
}
private void button1_Click(object sender, EventArgs e)
{
switch (isFirstOne)
{
case true:
forSwap = pictureBox2.Image;
pictureBox1.Image = pictureBox2.Image;
pictureBox2.Image = null;
break;
case false:
forSwap = pictureBox1.Image;
pictureBox2.Image = pictureBox1.Image;
pictureBox1.Image = null;
break;
}
isFirstOne = !isFirstOne;
}
}
答案 1 :(得分:1)
尝试不将一个pictureBox的图像设置为另一个图像框的图像。
尝试将图像设置为对实际图像(文件等)的引用。
或者尝试使用pictureBox.ImageLocation来设置它。
答案 2 :(得分:1)
考虑到你将chicken_move变量设置为全局,没有任何错误 与代码。尝试提供图像文件位置:
pictureBox_Micro.ImageLocation = "UncookedImage.jpg";
pictureBox_Uncooked.ImageLocation = "MicroImage.jpg";