自定义控件使用GDI+画图片

来源:互联网 发布:mysql怎么写sql语句 编辑:程序博客网 时间:2024/05/17 07:18

Door.jpg放在bin目录下面了,报错,说有异常没有处理,找不到图片,
请问下图片怎么管理?怎么把图片也弄到生成的那个dll里面。
你的项目路径中是否存在中文路径? 尽量让文件夹名称都是英文,否则在编译的时候容易找不到。

FromFile这个方法不能使用相对路径?
使用绝对路径就可以了,那我这个自定义控件不是悲剧了,
哪位大神能解决这个问题?非常感谢。
相对路径加载图片,或者直接能加到dll里面去

FromFile肯定能使用相对路径的,LZ得debug你自己的代码试试看到底问题在哪里

同意楼上的,反正把图片和你编译生成的dll或exe放一起就成
随便在项目根目录下建一个文件夹image,把图片拷贝到image文件夹里,图片上点击右键,选择始终复制,debug运行,这个图片就会在BIN/DEBUG/下面了,FromFile里面路径就写/image/图片.jpg
不知道是c#设计疏忽还是我没找到方对,.net一直无法强行线程子线程的操作
不知道大家注意没有,如果子线程里有 死循环(有时间必须用循环)或子线程在进行一个阻塞式的操作,如影响队列里的消息,那么不能主线程用什么方式终止子线程都没门,
  this.thread.Suspend();
  this.thread.Abort()
通通不管用,得调用win32api去强行终止,我的妈呀.net又把你赶回win32时间了
Abort() 方法也只是建议子线程终止,而不是无条件强行终目,这个不好,比如应用程序要退出,子线程结束不了会一直驻留内存exe都不会退出进程,有什么办法强行终止子线程哈,不要说类似于(不要用死循环,无意义之类的话,那对阻塞式的操作怎么说呢)
这个情况下, 试试在FormClosing事件里面把线程Suspend
楼上的真是知音啊,我的问题就是发生在这种情况,也这么处理,但是无效
之前我也遇到这个问题, 就在FormClosing事件里面把线程Suspend了就可以了
死循环的问题解决了,可是线程阻塞的问题还是没有解决 
晕,简单点,把线程设置为后台线程不就得了,还要弄个你死我活的,找不到解决方案
还用在那些线程开始前,使用它的属性IsBackground,好像是这个,把它设为true,这样在你程序结束的时候,线程也会自动结束
编程中的情况有太多种了。比如UDP通讯
比如我的软件中有一个主的等待线程,接收到一个有效消息后,就会分配一个端口,开启一个新的监听线程。
客户端会不断的向这个端口发送心跳包。
如果超时就认为是客户端断开了连接。客户端就要重新去主线程去申请端口。
当然我也要强行结束没有心跳包发来的 线程,关闭端口。怎么可能不断的开线程不销毁呢。
我来学习一下.楼主可以把线程做为互斥的,一到你说的情况就互斥,这样不就解决了吗?
如果等待连接的线程超时,它自己应该主动关闭,而不是等着别人关闭它
如果你遇到无法协作(业务逻辑设计上可以看出会死循环)的线程,聪明的办法不是去想办法终止它,而是应该把这类代码从自己的系统中删除。我也遇到这个问题,就是当读取消息队列的时候会阻塞,但是有时候要终止掉
来源:足球直播
原创粉丝点击