我制作了几个按钮(图片框),然后你点击它们就会改变图像。
我尝试了这段代码,但它总是跳到其他地方。
图像是从资源加载的。
private void pictureBox7_Click(object sender, EventArgs e)
{
if (pictureBox7.Image == KaminuSkaiciuokle.Properties.Resources.IcopalA)
{
pictureBox7.Image = KaminuSkaiciuokle.Properties.Resources.IcopalB;
}
else
{
pictureBox7.Image = KaminuSkaiciuokle.Properties.Resources.IcopalA;
}
}
想出来。
insted比较picturebox.image我设置了picturebox.tag并进行比较。
pictureBox7.Tag = "B";
if (pictureBox7.Tag.ToString() == "A")
{
pictureBox7.Image = KaminuSkaiciuokle.Properties.Resources.IcopalB;
pictureBox7.Tag = "B";
}
else
{
pictureBox7.Image = KaminuSkaiciuokle.Properties.Resources.IcopalA;
pictureBox7.Tag = "A";
}
答案 0 :(得分:4)
您应该保留对资源的本地引用,因为当您调用KaminuSkaiciuokle.Properties.Resources...
时,您将始终获得对象的新实例:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Bitmap _icopalABitmap = KaminuSkaiciuokle.Properties.Resources.IcopalA;
Bitmap _icopalBBitmap = KaminuSkaiciuokle.Properties.Resources.IcopalB;
private void pictureBox1_Click(object sender, EventArgs e)
{
if (pictureBox7.Image == _icopalABitmap)
{
pictureBox7.Image = _icopalBBitmap;
}
else
{
pictureBox7.Image = _icopalABitmap;
}
}
private void Form1_Load(object sender, EventArgs e)
{
pictureBox7.Image = _icopalABitmap;
}
}
答案 1 :(得分:-2)
请注意此代码:
Bitmap _icopalABitmap = KaminuSkaiciuokle.Properties.Resources.IcopalA;
_icopalABitmap:这是你理想的名字。 KaminuSkaiciuokle:它是你的项目名称。 IcopalA:是你的图片名称