如何把按钮设计为点击后切换按钮图标,为什么无法在类中找到资源

馨宝宝 2016-12-05 03:03:13
想做一个锁定按钮点击后 会改变按钮BackgroundImage,在资源里面加入了lock_32p.png和unlock_32p.png,并且设置生成操作为嵌入的资源,然后写了下面的代码段,但是运行后总是显示无法找到资源。

public partial class Form1 : Form
{

public Form1()
{
InitializeComponent();
}
private void button_lock_Click(object sender, EventArgs e)
{

if (this.BackgroundImage == new Bitmap(this.GetType(), "lock_32p.png"))
{

this.BackgroundImage = new Bitmap(this.GetType(), "unlock_32p.png");
}
else

this.BackgroundImage = new Bitmap(this.GetType(), "lock_32p.png");
}
}

运行后显示错误:“System.ArgumentException”类型的未经处理的异常在 System.Drawing.dll 中发生

其他信息: 无法在类“APP.Form1”中找到资源“lock_32p.png”。
...全文
104 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
馨宝宝 2016-12-05
  • 打赏
  • 举报
回复
引用 2 楼 hanjun0612 的回复:
Bitmap bmp2 = new Bitmap("c:\\button.gif");
引用 1 楼 qq_17486399 的回复:
路径不对啊,我去!你这直接没有给路径么?
图片已经加入到resources里面了,想要相对引用,不是绝对引用,我刚才写成了
           if (button_lock.BackgroundImage == Properties.Resources.lock_32p)
            {
                button_lock.BackgroundImage = Properties.Resources.unlock_32p;
            }
            else
                button_lock.BackgroundImage = Properties.Resources.lock_32p;
就没有找不到资源的问题了, 但是无法判断button_lock.BackgroundImage == Properties.Resources.lock_32p 直接跳到else里面了,不知道这里该怎么判定是lock图还是unlock图
馨宝宝 2016-12-05
  • 打赏
  • 举报
回复
引用 1 楼 qq_17486399 的回复:
路径不对啊,我去!你这直接没有给路径么?
已经加入到resources里面了,想要相对引用,不是绝对引用,我刚才写成了
           if (button_lock.BackgroundImage == Properties.Resources.lock_32p)
            {
                button_lock.BackgroundImage = Properties.Resources.unlock_32p;
            }
            else
                button_lock.BackgroundImage = Properties.Resources.lock_32p;
就没有找不到资源的问题了, 但是无法判断button_lock.BackgroundImage == Properties.Resources.lock_32p 直接跳到else里面了
正怒月神 2016-12-05
  • 打赏
  • 举报
回复
Bitmap bmp2 = new Bitmap("c:\\button.gif");
大鱼> 2016-12-05
  • 打赏
  • 举报
回复
路径不对啊,我去!你这直接没有给路径么?

110,546

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧