单击后更改按钮图像
本文关键字:按钮 图像 单击 | 更新日期: 2023-09-27 18:26:19
我有带图片cb的picturebox。
PBr1_1.Image = new Bitmap(@"Logos''Images''cb.png");
我想将图片更改为cg.png,并在单击此图片时执行一些操作。我尝试过类似的东西,但没有成功:
private void PBr1_1_Click(object sender, EventArgs e)
{
if (PBr1_1.Image.ToString() == "cb.png")
{
PBr1_1.Image = new Bitmap(@"Logos''Images''cg.png");
// Do some stuff.
}
}
然后,当我用cb点击图像时,也可以这样做。这个cb是黑色的圆形按钮图像,cg是绿色的。
我该怎么做?
Jason是对的,您应该使用某种临时存储来保存当前位图
Tag属性在这种情况下很有用。这里有一个示例代码:(没有错误处理)
装载事件中的某个位置
PBr1.Tag = "cb.png";`
PBr1_1.Image = new Bitmap(Path.Combine("Logos''Images", PBr1.Tag.ToString());
然后在按钮中单击
private void PBr1_1_Click(object sender, EventArgs e)
{
string imgPath = "Logos''Images";
PBr1_1.Image.Dispose();
PBr1_1.Tag = (PBr1_1.Tag == "cb.png" ? "cg.png") : "cb.png") ;
Bitmap bm = new Bitmap(Path.Combine(imgPath, PBr1.Tag.ToString());
PBr1_1.Image = bm;
}
您确定"PBr1_1.Image.ToString()"真的只返回图像名称吗?也许您应该通过将PBr1_1.Image.ToString()写入控制台或类似的东西来检查这一点