使用启动画面一是可以减少等待程序加载过程中的枯燥感(尤其是一些大型程序);二是可以用来显示软件名称和版权等提示信息。怎样使用VC++制作应用程序的启动画面呢?本文提供四种方法,前三种适用于基于文档的应用程序,第四种适用于基于对话框的应用程序。
后台循环任务,少量UI更新:例如批量上传文件,并提供进度。这种情况使用BackgroundWorker组件是非常好的选择。
“Microsoft.Office.Interop.Outlook"的引用,即可调用,需要注意的是,在添加的时候,注意一下Office版本号。
自从VS2005以后,MS推荐用MenuStrip来代替原来的MainMenu,但是MenuStrip在设置菜单项Visible=false后,表面上看是好用的,实际上键盘上下移动菜单却会出现空白的现象。。。。。。
使用方法在Program.cs里的Main里调用就好了 LoadProcess.StarPoint()第1个参数是用来给已启动的进程发送的消息..
最先获取进程里的所有Excel.exe进程 当后台实例化一个Excel。exe 后 在次获取进程里的所有Excel.exe 在做比较获取Pid 多出的那个就是 刚刚开启的。
我们可以在SharePoint中调用传出电子邮件中的邮件服务器及地址发送邮件,但是,里面的方法只能用于发送普通电子邮件。如果要发起会议之类的特殊邮件的话,可以利用C#调用Outlook API自身了。
使用两个迭代器和一个值调用 find 函数,检查两个迭代器实参标记范围内的每一个元素。只要找到与给定值相等的元素,find 就会返回指向该元素的迭代器。如果没有匹配的元素,find 就返回它的第二个迭代器实参,表示查找失败。于是,只要检查该函数的返回值是否与它的第二个实参相等,就可得知元素是否找到了。
如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用 closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:
Lambda表达比代表定义和带外方法定义的结合更清楚,且相关的额外工作只需要满足语言定义即可。不过,它也有一些不足之处。如果某个方法的参数包含System.Delegate 这样的抽象类型,用lambda表达式介绍特殊的问题:C#编译器不能将lambda表达式转换成还未明确定义的衍生代表类型。
而是在托管堆上,可能被其他线程更改。 但只使用局部变量的函数在.NET类库中是很少的,但.NET类库中还是有那么多线程安全的函数,是为什么呢? 因为,即使一个函数使用了共享资源,如果其所使用的共享资源都是线程安全的,则这个函数也是线程安全的。
StringWriter。用它就可以代替Console.Out帮我们接收输出的日志,保存在一个StringBuilder里。
如下函数,我们只知道value 是一个基本值类型,比如(System.Int32, System.Int16, System.Double 等等) 或者是一个字符串类型。但我们无法在编码时确定这个value 具体是什么类型,它可能是由一个外部组件从某个数据源中读出来的基本类型中的一种类型的实例或者是字符串类型实例
了解JAVA的人都了解struts框架,是一个典型的mvc框架,早些时候微软也实现了.NET版的MVC,用到了路由技术,由于不开源,好多地方感到有些迷惑,于是有一个想法,为什么不自已写一个MVC的框架呢
使用textbox控件以及 progressbar,后来发现挺麻烦,远不及console窗口下的console.write和console.writeline方便。于是尝试直接将信息输出到控制台窗口。
所谓单个写入程序/多个阅读程序的线程同步问题,是指任意数量的线程访问共享资源时,写入程序(线程)需要修改共享资源,而阅读程序(线程)需要读取数据。在这个同步问题中,很容易得到下面二个要求:
一个比较经典的例子是,用一个全局变量做计数器,然后开N个线程去完成某个任务,每个线程完成一次任务就将计数器加一,直到完成100次任务。如果不考虑线程冲突问题,用类似下面的代码去做,则很可能会超额完成任务,线程越多,完成任务次数超出100次的可能性就越大。