图像移动按钮单击

时间:2017-05-11 19:11:04

标签: c# winforms visual-studio

我希望在按钮点击时将图片移到另一个图片框中,反之亦然,我非常确定我的代码应该在理论上工作,但它只是因为某些原因而无法执行。任何帮助将非常感谢请!! 这是我的代码:

    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;
        }

3 个答案:

答案 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";