随笔分类 - .NET Framework
摘要:设计时和运行时的概念网上的中文资料很少,如果不是做第三方组件开发的或者跟设计器开发有关的,几乎用不到这些概念。为了迎合之前几篇博客,我想有必要说一下它两的概念和区别,以及用在什么地方。博客好久没更新,比较忙。首先,我个人认为“设计时”和“运行时”是针对组件而言的(包括控件),也就是说,一个组件可以处...
阅读全文
摘要:我前面一篇博客讲了自定义窗体设计器,其实功能太简单,主要想阐述的是底层原理(虽然我不保证VS IDE设计器确实是那样去实现的)。编程讲究的是刨根问底,刨到祖坟最好,这篇或者可能以后几篇博客我想说一下VS IDE中的窗体设计器,虽说不能面面俱到,但也能让大家知道个大概。初学者可能阅读起来有些困难。其实...
阅读全文
摘要:其实本文标题说得有点大,一个窗体设计器包含的功能实在是太多而且非常复杂,网上有很多地方也讲到这方面的内容,不过基本上都是E文,http://www.codeproject.com/Articles/24385/Have-a-Great-DesignTime-Experience-with-a-Pow...
阅读全文
摘要:虽然标题为“动态编译”,其实本文包含两个部分,一个就是标题说的动态编译源代码,另外一个应该是动态生成源代码。也就是说,在.Net中可以存在这样一种情况:在程序运行期间,由程序控制动态生成一份源代码(Source Code),然后再编译该源代码,生成一个新的程序集,紧接着再加载生成的程序集,最后运行。...
阅读全文
摘要:本文主要说到以下内容:什么是.Net中的组件,组件和类、控件的区别和联系。组件的特性。利用IExtenderProvider接口进行组件扩展。“扩展组件”的简单应用——控件倒影。1.什么是.Net中的组件,组件和类、控件的区别和联系必须说的是,“组件”一词在编程中经常遇到,意义众多,当然不管什么意思...
阅读全文
摘要:上一篇最后提到了怎么解决由“事件编程”引起的内存泄露问题,最后几句说到了由“弱引用”的概念引申出来“弱委托”。具体没说怎么去实现,这篇文章介绍一下具体实现过程。(请先看前一篇文章)先来看一下MSDN上对Delegate(委托)的解释:表示委托,委托是一种数据结构,它引用静态方法或引用类实例及该类的实...
阅读全文
摘要:我前面几篇博客中提到过.net中的事件与Windows事件的区别,本文讨论的是前者,也就是我们代码中经常用到的Event。Event很常见,Button控件的Click、KeyPress等等,PictureBox控件的Paint等等都属于本文讨论范畴,本文会例举出有关“事件编程”的几种方法,还会提及...
阅读全文
摘要:写在前面: 从一个窗体的创建显示,再到与用户的交互,最后窗体关闭,这中间经历过了一系列复杂的过程,本文将从Winform应用程序中的Program.cs文件的第一行代码开始,逐步分析一个Winform应用程序到底是怎样从出生走向死亡,这其中包括Form.Show()和Form.ShowDialo...
阅读全文
摘要:末日这天写篇博客吧,既然没来,那就纪念一下。这次谈谈自制控件,也就是自定义控件,先上图,再说1.扩展OpenFileDialog,在OpenFileDialog中添加各种文件(.txt,.jpg,.excel等等)的预览功能2.重写ListBox,增加折叠、鼠标背影、分类等功能-----------...
阅读全文
摘要:中午没事,把去年刚毕业那会画的几张图翻出来了,大概介绍Winform应用程序运行的过程,以及TCP协议在Winform中的应用。如果有Windows消息机制等基础,很好理解这两张图。(1)Winform应用程序运行结构图(2)TCP通讯协议在Winform程序中的应用示意图熟悉整个程序的来龙去脉,编...
阅读全文
摘要:1. 理解“Windows 窗体应用程序”项目中Program.cs文件中的main方法与传统C++Console控制台程序中的main方法的区别。从程序运行层次上讲,两者无区别,都是程序的入口点,属于进程中的第一个线程。前者隐藏了UI应用程序必需的消息循环,后者没有。2. 每个Windows桌面应...
阅读全文