我在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语句有问题,但我无法弄清楚是什么。
编辑:第一张图片出现在我的表单上,但是当我点击它时,它不会更改为第二张图片。
答案 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");
}
}