C#在新线程创建窗体卡住问题

问题描述
最近遇到一个问题,在new 一个form 后发现新创建的窗体卡住了,里面的控件刷不出来。百度后发现原来是在一个新的线程里创建了窗体,而新线程是一直阻塞的,导致窗体刷不出来。

解决办法
参考网上的解决方法,在主UI线程里写了创建窗体的方法,然后在新线程里调用。为了更好的实现封装性(新线程所在的类不直接访问主线程所在的类),在主窗口新建一个静态的委托,以便调用:

delegate void delShowForm();
delShowForm _delshowform =null;
阅读更多

adobe打印参数设置

Adobe阅读器 我如何在Acrobat和Adobe阅读器中使用 Windows 命令行? ( 适用于 Adobe acrobat/reader 10,而非 XI ) 用于显示对话框的命令是:

start"Print PDF"/wait"%ProgramFiles(x86)%AdobeReader 11.0ReaderAcroRd32.exe"/p"%%p"
阅读更多

rdlc报表打印提示找不到相关文件

Microsoft.ReportViewer.ProcessingObjectModel, Version=10.0.0.0

未能加载文件或程序集 Microsoft.ReportViewer.ProcessingObjectModel, Version=10.0.0.0
cound’t find the file Microsoft.ReportViewer.ProcessingObjectModel, Version=10.0.0.0 系统找不到指定的文件

阅读更多

vs2017删除代码中空行

vs2017删除代码种空行:

用Ctrl+H配合正则表达式来替换空行或者空格

1.只有单独一行换行符时没有其他空格符号:(?<=\r\n)\r\n;
2.前面有两个制表符,再加一个换行符:\t\t\r\n

其他好多种情况可以另外再试。

2.4.1 基础知识——添加服务引用与Web引用的区别

2.4 使用ASP.NET测试Web服务

Web服务的使用非常灵活和自由,在前面我们使用控制台应用程序调用了一个手动生成的Web服务,步骤比较繁琐,而且出现错误很难排除。这一节,我们看看利用Visual Studio 2010如何在ASP.NET中测试Web服务。

阅读更多

C#WinForm获取当前执行程序路径的几种方法

1.获取和设置当前目录的完全限定路径。
string str = System.Environment.CurrentDirectory;
Result: C:xxxxxx

2.获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。
string str = System.Windows.Forms.Application.StartupPath;
Result: C:xxxxxx

阅读更多

VS2015 IIS Express 无法启动 解决办法

碰到一问题,就是在VS2015启动调试时,总是提示“IIS Web Express 无法启动”的错误,其他项目运行正常,就这个项目跑不起来,所以基本就是配置问题,网上的办法都试了,我试了都没用。
现在说说我的解决办法

阅读更多

DataGridView绑定list的注意事项

1、DataGridView数据绑定对比(DataTable与泛型List):
当DataGridView的DataSource是DataTable的时候,DataTable的数据改变时,DataGridView的数据会随之改变,无需重新绑定到DataGridView。
当DataGridView的DataSource是泛型List,当List的数据改变时,则需要先将DataGridView的DataSource设置为new List(),再将改变后的List赋给DataGridView的DataSource。

绑定List时,注意:切莫将DataGridView的DataSource设置为Null,否则会破坏DataGridView的列结构。

阅读更多