Visual C#无法更改picturebox.Image点击

时间:2013-11-30 21:42:22

标签: c# visual-studio-2010 if-statement picturebox

我在Visual Studio 2010上的应用程序上有一个图片框(在Visual C#上)。

默认情况下,图片框有一个图像。我希望用户能够点击它,它会改变为另一个图像,然后如果他再次点击它,picturebox.Image会改回第一个等等。

 private void pictureBox1_Click(object sender, EventArgs e)
        {
            if (pictureBox1.Image == WindowsFormsApplication2.Properties.Resources.English_flag)
            {
                pictureBox1.Image = WindowsFormsApplication2.Properties.Resources.Greek_flag;
            }
            else
            {
                pictureBox1.Image = WindowsFormsApplication2.Properties.Resources.English_flag;
            }
        }

这就是我所拥有的,但它不起作用。我知道我的if语句有问题,但我无法弄清楚是什么。

编辑:第一张图片出现在我的表单上,但是当我点击它时,它不会更改为第二张图片。

2 个答案:

答案 0 :(得分:3)

你应该尝试而不是拥有的是一个布尔标志,你可以在每次点击时切换。

bool flag = true;
private void pictureBox1_Click(object sender, EventArgs e)
    {
            pictureBox1.Image = flag ? WindowsFormsApplication2.Properties.Resources.Greek_flag 
                                     : WindowsFormsApplication2.Properties.Resources.English_flag;
        flag = !flag;

    }

答案 1 :(得分:0)

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

            private Image first;
            private Image reitmi;
            private Image reitmi2;
            private Image selectForCancel;

 private void Form2_Load(object sender, EventArgs e)
            {

                first = Properties.Resources.Open;
                reitmi = Properties.Resources.Select;
                reitmi2 = Properties.Resources.Reserve;



                pictureBox1.Image = Properties.Resources.Open;

    }

private void pictureBox2_Click(object sender, EventArgs e)
        {    
        if (pictureBox2.Image == first)
                {
                    pictureBox2.Image = reitmi;

                    listHoldingSeats.Items.Add("B1");
                    txtListCount.Text =listHoldingSeats.Items.Count.ToString();

                }


                else
                {
                    pictureBox2.Image = first;
                    listCancelledList.Items.Add("B1");
                } 


        }