c# 问题杂记
来源:互联网 发布:oa办公软件免费版 编辑:程序博客网 时间:2024/06/06 08:33
最近在使用c#时,遇到些问题,记录下来以后查看
1.workthread没有消息传递机制,所有在workthread中不能new form等需要消息循环的窗口。
2.写程序时遇到:在创建窗口句柄之前,不能在控件上调用 Invoke或begininvoke,查看代码是,new 了一个form,然后调用一线程,在线程中通过form.invoke来调用form控件,应该是没问题的,因为已经new form了,感觉应该有窗口句柄了,但是却报了以上错误。经查资料以及网上搜索,发现:new form后,窗口句柄并没有生成,只是在内存中有个form对象,只有当窗口真正显示出来时,窗口句柄才生成。所以,当new form后,还需form.show()之后,才真正生成窗口句柄。
3.form窗口消息传递:wndproc(窗口处理函数)-》onclick(引发click事件)——》form_click()事件。其中wndproc和on***都可以重载。
4.常用delegate代码:
Thread thread1 = new Thread(new ThreadStart(delegate()
{
}));
controls.BeginInvoke(new MethodInvoker(delegate()
{
}));
5.调用delegate:
(1) public delegate void Method();
void f()
{
}
controls.BeginInvoke(new Method(f));
(2)public delegate void Method();
void f()
{
}
Method m1=new Method(f)/f;
controls.BeginInvoke(m1);
(3)
controls.BeginInvoke(new MethodInvoker(delegate()
{
}));
6.File.Create创建一个文件之后,然后用StreamReader来读取,说另一个进程正在使用该文件:Create方法调用后会返回一个打开的FileStream,关闭掉就可以了
if(!file1.Exists)
{
file1.Create().Close();
}或者
FileStream fs=File.Create(FilePath);
fs.Close();//这里没有关闭filestream;
- c# 问题杂记
- 今天C#所遇到的问题杂记
- c# 杂记
- C# 杂记
- 问题杂记
- C#学习杂记(一)
- C# HashTable 杂记
- C#杂记:语法
- C#杂记:关键字
- C#工具方法杂记
- QT编译问题杂记
- django开发问题杂记
- Python问题杂记
- 编码问题杂记
- Linux 问题杂记
- 博客问题杂记
- C#杂记:String.Format大全
- android源码编译问题杂记
- 网关 与 DNS
- 第一章 JAVA介绍
- Nutch/Lucene的存取机制与结构分析(收藏)
- 面试题
- 2010年4月20日,正式在csdn的blog安家
- c# 问题杂记
- java 递归树
- 还有一种可能没有尝试, 以后不断看资料,应该不断有新的可能的情况拿来尝试...
- jQuery技巧
- 浅谈C#中的枚举
- 用MFC实现串口编程 (zhuan)
- 验证码制作之一:随机生成一个四位数字
- 对win7中出现VS 2005 (Final) Install failure -- Setup Failed on component Microsoft Document Explorer 2005的问题解决
- 第一章 ASP介绍