09 2012 档案
CLR 与 C++的常用类型转换笔记
摘要:1. System::String 转换到 const wchar_t*const wchar_t* ToUnmanagedUnicode( System::String^ str ){ pin_ptr<const WCHAR> nativeString1 = PtrToStringChars( str ); return (const wchar_t*)nativeString1;}2. const wchar_t* / const char* 转换到 System::Stringconst wchar_t* p= L"hello"; System::Stri
阅读全文
C#学习笔记之多线程
摘要:http://blog.csdn.net/wanjun8659/article/category/1146180[C#学习笔记之多线程2]多线程同步与并发访问共享资源工具—Lock、Monitor、Mutex、Semaphore“线程同步”的含义 当一个进程启动了多个线程时,如果需要控制这些线程的推进顺序(比如A线程必须等待B和C线程执行完毕之后才能继续执行),则称这些线程需要进行“线程同步(thread synchronization)”。 线程同步的道理虽然简单,但却是给多线程开发带来复杂性的根源之一。当线程同步不好时,有可能会出现一种特殊的情形——死锁(Dead Lock...
阅读全文
如何判断axwebbrowser中的一段脚本已经执行完毕
摘要:如何判断axwebbrowser中的一段脚本已经执行完毕PS:Document_Complete 是可以捕捉的到的但是一个网页的加载会捕捉多次,需要结合 webBrowser1_ProgressChanged事件 来确定为一的一次加载完毕操作 ,同时参考http://www.cnblogs.com/LYunF/archive/2012/08/31/2665200.html注意:其中的autoEventReadUrlOk 被触发后会自动关闭 private void webBrowser1_ProgressChanged(object sender, WebBrowserPro...
阅读全文
线程终止问题
摘要:http://topic.csdn.net/u/20080429/09/9cfe5204-20b5-40fb-ac12-afdc1e4939e9.html?590511460线程终止问题http://blog.csdn.net/wuyazhe/article/details/1771470带有消息机制的线程 - CustomMessageQueue(c#)using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using Sy
阅读全文
c# Trace.WriteLine Console.WriteLine console.WriteLine 区别
摘要:Trace.WriteLine1、console.WriteLine控制台程序。就是可直接在DOS下运行的程序。结果显示在DOS中。有些程序并不需要用户界面呀,这里就要用到Console了。2、debug.writeline是在下面的输出窗口里显示结果,Trace.WriteLine也是。
阅读全文
在C#中怎么样声明全局变量?
摘要:对,没有全局变量这个概念了一般的做法是把全局变量全部封装到一个类中,使用static就可以了。各位高手有什么意见public class GVar { public static string szName = " "; public static int nAge = 0; } // 在这个类里面使用GVar类中的变量 public class MyForm : System.Windows.Forms { ... public void fun() { ...
阅读全文
!!! c# 线程同步: 详解lock,monitor,同步事件和等待句柄以及mutex
摘要:http://www.cnblogs.com/freshman0216/archive/2008/07/27/1252253.htmlhttp://www.cnblogs.com/xd125/archive/2007/12/12/992406.html 本篇从Monitor,Mutex,ManualResetEvent,AutoResetEvent,WaitHandler的类关系图开始,希望通过本篇的介绍能对常见的线程同步方法有一个整体的认识,而对每种方式的使用细节,适用场合不会过多解释。让我们来看看这几个类的关系图:最近由于在准备Collection对象培训的PPT,因为涉及到SyncRoo
阅读全文
dataGridView 控件快速绑定数据源后,简单的代码实现
摘要:private void dataGridView_Kuaidi_RowLeave(object sender, DataGridViewCellEventArgs e) { // 注意下面四局缺一不可, this.Validate(); // 如果没有这句话,最后一个单元格的编辑,不会提交 this.kuaidiBindingSource.EndEdit(); int nUpdatedRows = this.kuaidiTableAdapter.Adapter.Up...
阅读全文
!!HTML Agility Pack:簡單好用的快速 HTML Parser
摘要:!!http://msdn.microsoft.com/zh-tw/ee787055.aspxHtml Agility Pack 源码下载地址:http://htmlagilitypack.codeplex.com/SourceControl/list/changesets#已经下载到:D:\MyProject\chat rob\s设计资料\参考资料\11网页抓取与分析\Html Agility Pack源码\Release解决HtmlAgilityPack中文乱码:http://www.cnblogs.com/wmlunge/archive/2011/10/27/2299260.htmlxp
阅读全文
!!自动向网页Post信息并提取返回的信息 --较完整的实例
摘要:http://www.cnblogs.com/dragon/archive/2005/06/15/174946.html示例下载朋友问到这样一个问题,需要实现如下功能1、打开一家航空运输公司的查询网页,如http://www.skyteamcargo.com/en/tracking/,该页面有两个文本框,供用户输入业务代码,如180-36898035,2、然后单击“Go”按钮后,下一个页面显示查询出来的结果现在要求以上步骤都用程序自动实现,并把查询结果提取出来,以备后面进一步处理。要完成这样的功能,首先要解决以下几个问题:l能够用程序在后台将数据Post到目标网页l能接收到对方返回的HTML结
阅读全文
创业者说:如何从新兴领域脱颖而出
摘要:摘要:如何做新兴市场中的弄潮儿?以下是四位公司创始人或CEO的解答,相信会给大家带来一点新的领悟。
创业者如何在新兴市场运筹帷幄?以下是四位创业者自己的见解。相信作为创业者的您定会有所收获。
阅读全文
WebBrowser和多线程
摘要:http://www.189works.com/article-43518-1.html我们在做采集软件的时候有些网站通过直接分析html文本是很麻烦的事情在利用WinForm编程的情况下有一种更好的方式当然是分析HtmlDocument然而,这HtmlDoucment并不能直接创建它必须由 WebBroswer控件Navigate生成一个页面后才能取得wb.HtmlDocument然后就可以对HtmlDocument的各元素、标签进行分析。事实上,在采集的时候并不是采集只会采集单个页面这样的话,在主窗体中就可以完成譬如采集一些列表页面,有N多个页那么,一个循环下去,用WebBrowser去响
阅读全文
多线程委托函数中访问webbrowser 等UI窗体控件,报错“由于以前的函数求值超时,函数求值被禁用+用户已关闭隐式函数计算。”
摘要:public delegate String GetKuaidiInfoDelegate(); public String GetKuaidiInfo() { if (webBrowser1.InvokeRequired) { GetKuaidiInfoDelegate cb = new GetKuaidiInfoDelegate(GetKuaidiInfo); String strContext = this.Invoke(cb).ToStrin...
阅读全文
!!c# 委托与多线程 -- 相比background来说,本方法针对当需要通过异步代理发起UI操作,而后线程中进行sleep操作的时使用
摘要:http://blog.csdn.net/lekelaier_msn/article/details/1664235!!c# 委托与多线程 -- 相比background来说,后者无法再process函数中实现发起UI操作后,而后线程中进行sleep操作的时使用(因为webbrowser是线程安全的,会由于sleep也挂起)很多时候写windows程序都需要结合多线程,在.net中用如下得代码来创建并启动一个新的线程。publicvoidThreadProc();Thread thread =newThread(newThreadStart( ThreadProc ) );thread.IsB
阅读全文
!!C# BackgroundWorker异步操作以及实现等待提示窗体功能---C#中此方法比多线程用的多
摘要:http://www.mysjtu.com/page/M0/S536/536907.htmlC#中多线程中窗体的操作,异步委托写起来非常麻烦,最方便的是使用BackgroundWork组件在结束执行后返回主窗口的UI线程再调用其他窗口。C# BackgroundWorker异步操作以及实现等待提示窗体功能2012年05月08日⁄C#⁄暂无评论⁄ 被围观 713 views+您必须非常小心,确保在DoWork的事件处理程序中不操作任何用户资源分类界面对象。而应该通过ProgressChanged不时和RunWorkerCompleted事件与用户资源分类界面进行通信。在项目中,由于界面的一个点击
阅读全文