随笔分类 -  C#

关于C#语言
摘要:在需要时——> 调用OnFunction(Invoke / RaiseEvent) -----> 激发事件 -------> 调用事件的处理方法 阅读全文
posted @ 2015-01-08 11:22 长白山 阅读(198) 评论(0) 推荐(0)
摘要:C#中的WebBrowser控件的使用关键字:C# WebBrowser作者:txw1958原文:http://www.cnblogs.com/txw1958/archive/2012/09/24/CSharp-WebBrowser.html0、常用方法Navigate(string urlStri... 阅读全文
posted @ 2014-08-15 15:05 长白山 阅读(230) 评论(0) 推荐(0)
摘要:启动线程:Start,运行 线程的“绑定”/“执行”方法。销毁线程:Abort,线程消失。名词:线程的“执行方法” == 线程的“绑定方法”线程的“绑定方法”/“执行方法”,不但可以是当前实例中的方法(如:1),也可以是其它实例中的方法(如:2,需要创建指定类型的实例,然后引用其方法作为“子线程”的... 阅读全文
posted @ 2014-05-25 03:42 长白山 阅读(3574) 评论(0) 推荐(0)
摘要:捕获到异常(程序进入catch),并不等于当前程序就此终止了,若未抛出(throw ex),则所在的线程也未崩溃掉,依然存活着,甚至程序还可以继续执行。 阅读全文
posted @ 2014-05-25 03:04 长白山 阅读(163) 评论(0) 推荐(0)
摘要:1:小方法,代码一般不超过50行,太长了,无法阅读,并且也不容易记住功能。2:大量代码中的“一种功能”可以封装到类内的某个方法中,也可以封装到其它类的某个方法中。 阅读全文
posted @ 2014-05-23 15:27 长白山 阅读(150) 评论(0) 推荐(0)
摘要:如下参考实例: TimeSpan ts= new TimeSpan(0); TimeSpan ts2 = new TimeSpan(0); foreach (var item in alarmListOfSpecifyOrg) { if (_graphicsManager.ExistsAlarm... 阅读全文
posted @ 2014-05-21 21:34 长白山 阅读(240) 评论(0) 推荐(0)
摘要:1:People.Pupil = new Pupil{Name="zhd",Sex="Man"};2:Student s = People.Pupil;“2”是一个简单的赋值语句,s引用(或指向)People.Pupil对象,当对象发生改变时,自然而然,s也改变。实际上是:s通过引用(或指向)对象的... 阅读全文
posted @ 2014-05-21 15:50 长白山 阅读(159) 评论(0) 推荐(0)
摘要:总结:new一个委托的目的,就是为了引用一个方法,所以必须在构造方法中传入方法名。 阅读全文
posted @ 2014-05-18 01:22 长白山 阅读(253) 评论(0) 推荐(0)
摘要:Load事件 在 窗体完全呈现之后 被 触发如下伪代码:void ShowWindows{ 。。。。。//显示父容器 。。。。。//显示子容器 。。。。。//显示控件 //至此,窗体完全呈现 。。。。。//触发Load事件} 阅读全文
posted @ 2014-05-17 23:03 长白山 阅读(243) 评论(0) 推荐(0)
摘要:.net框架自带的两个常用类(Action和EventHandler),当然这两个类型的也可以自定义,但系统已经提供,直接拿来用即可,很方便1:Action : 引用“void方法”的委托,目前框架提供8种。2:EventHandler或EventHandler:声明事件的委托。 (1)EventH... 阅读全文
posted @ 2014-05-17 16:07 长白山 阅读(2045) 评论(0) 推荐(0)
摘要:方法A:Action f = () => { txtProcess.Text = "开始更新程序..."; };方法B: this.Dispatcher.Invoke((Action)delegate { this.loginBusyIndicator.IsBusy = false; loginIm... 阅读全文
posted @ 2014-04-25 19:31 长白山 阅读(536) 评论(0) 推荐(0)
摘要:TimeSpan 是结构类型(struct),即值类型,可以通过两个DateTime(struct)之差来获得,如下例子:DateTime departure = new DateTime(2010, 6, 12, 18, 32, 0);//DateTimeDateTime arrival = ne... 阅读全文
posted @ 2014-04-25 19:22 长白山 阅读(318) 评论(0) 推荐(0)
摘要:阅读目录DebugView输出信息到DebugView的几种方式DebugView与日志框架比较ConditionalAttribute详解与条件编译TRACE常量Debug类与Trace类的区别Debug、Debugger、Kernel32的联系配置TraceListenerDebug编译与Release编译的区别总结的重要性DotNet程序的调试,是DotNet程序员必备的技能之一,开发出稳定的程序、解决程序的疑难杂症都需要很强大的调试能力。DotNet调试有很多方法和技巧。现在本文就介绍一下借助DebugView工具进行调试的方法,以及由DebugView引申出来的知识点。回到顶部Deb 阅读全文
posted @ 2014-03-21 17:58 长白山 阅读(2063) 评论(0) 推荐(1)
摘要:引发事件的代码,通常可以封装成“On+事件名称”的方法(On:表示当“什么什么”的时候),如下所示:1:引发事件代码:if (PropertyChanged != null)//为了实现将数据源的改变通知给目标控件 { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); }2:可以封装如下的方法(当“属性改变”的时候):private void OnPropertyChanged(string propertyName){ if (PropertyChanged != null)//为了实现将数据源的改变通知给目 阅读全文
posted @ 2014-03-12 16:55 长白山 阅读(290) 评论(0) 推荐(0)
摘要:ManualResetEvent mre= new ManualResetEvent(false);(ManualResetEvent : EventWaitHandle : WaitHandle)mre.WaitOne:阻止当前线程,直到当前 System.Threading.WaitHandle(即ManualResetEvent)收到信号;如果当前实例(WaitHandle或ManualResetEvent)收到信号,则为 true。如果当前实例永远收不到信号,则 System.Threading.WaitHandle.WaitOne(System.Int32,System.Boolea 阅读全文
posted @ 2014-03-12 15:25 长白山 阅读(356) 评论(0) 推荐(0)
摘要:添加引用:dll--》封装了功能和方法,黑盒原理(我们不需要知道它内部是具体怎么实现的,我们只需要知道对于我们的“需求”,是怎么使用的就行了)添加服务引用:基本同上如下,C#创建的一个WebService服务: 阅读全文
posted @ 2014-02-22 21:52 长白山 阅读(351) 评论(0) 推荐(0)
摘要:若IEnumerable作为方法返回值的类型,则建议使用“迭代”模式(yield return)private IEnumerable CreatePFNode(IEnumerable pfvm) { foreach (var pf in pfvm) { yield return new TwoLevelTreeNodeViewModel() { HeaderText = pf.Text, Tag = pf.RelativeData }; } } 阅读全文
posted @ 2014-01-17 11:16 长白山 阅读(6740) 评论(0) 推荐(0)
摘要:IEnumerable:序列T:序列中的“元素”的类型“私下” 可以看成 集合性质 的 阅读全文
posted @ 2014-01-16 15:21 长白山 阅读(345) 评论(0) 推荐(0)
摘要:在使用委托时,若封装的方法无返回值,并且参数在0-7个,可考虑使用.Net4.0中的Action委托,建议使用系统自带的,减少自定义public delegate void Action(T obj); 阅读全文
posted @ 2014-01-10 17:26 长白山 阅读(237) 评论(0) 推荐(0)
摘要://通过使用默认的相等比较器(即纯粹的对象比较)确定序列是否包含指定的元素。public static bool Contains(this IEnumerable source, TSource value);//在source序列中,通过comparer比较器提供“比较规则”,确定由value对象提供“比较参数”的“source中的某个元素”是否存在:public static bool Contains(this IEnumerable source, TSource value, IEqualityComparer comparer);说明:value,它仅仅用于提供“比较参数”,这样 阅读全文
posted @ 2014-01-10 15:32 长白山 阅读(318) 评论(0) 推荐(0)