知识大全 七个C#编程的小技巧

Posted 事件

篇首语:桃李不言,下自成蹊。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 七个C#编程的小技巧相关的知识,希望对你有一定的参考价值。

七个C#编程的小技巧  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  一 最小化窗口

  点击 X 或 Alt+F 时 最小化窗口   如   protected override void WndProc(ref Message m)       const int WM_SYSMAND = x ;    const int SC_CLOSE = xF ;    if (m Msg == WM_SYSMAND && (int) m WParam == SC_CLOSE)         // User clicked close button     this WindowState = FormWindowState Minimized;     return;        base WndProc(ref m);   

  二 如何让Foreach 循环运行的更快   foreach是一个对集合中的元素进行简单的枚举及处理的现成语句 用法如下例所示   using System;   using System Collections;   namespace LoopTest       class Class         static void Main(string[] args)           // create an ArrayList of strings      ArrayList array = new ArrayList();      array Add( Marty );      array Add( Bill );      array Add( Gee );      // print the value of every item      foreach (string item in array)             Console WriteLine(item);                     你可以将foreach语句用在每个实现了Ienumerable接口的集合里 如果想了解更多foreach的用法 你可以查看 NET Framework SDK文档中的C# Language Specification

  在编译的时候 C#编辑器会对每一个foreach 区域进行转换   IEnumerator enumerator = array GetEnumerator();   try        string item;    while (enumerator MoveNext())          item = (string) enumerator Current;     Console WriteLine(item);          finally        IDisposable d = enumerator as IDisposable;    if (d != null) d Dispose();      这说明在后台 foreach的管理会给你的程序带来一些增加系统开销的额外代码

  三 将图片保存到一个XML文件   WinForm的资源文件中 将PictureBox的Image属性等非文字内容都转变成文本保存 这是通过序列化(Serialization)实现的   例子   using System Runtime Serialization Formatters Soap;   Stream stream = new FileStream( E:\\\\Image xml FileMode Create FileAccess Write FileShare None);   SoapFormatter f = new SoapFormatter();   Image img = Image FromFile( E:\\\\Image bmp );   f Serialize(stream img);   stream Close();

  四 屏蔽CTRL V   在WinForm中的TextBox控件没有办法屏蔽CTRL V的剪贴板粘贴动作 如果需要一个输入框 但是不希望用户粘贴剪贴板的内容 可以改用RichTextBox控件 并且在KeyDown中屏蔽掉CTRL V键 例子  

  private void richTextBox _KeyDown(object sender System Windows Forms KeyEventArgs e)       if(e Control && e KeyCode==Keys V)    e Handled = true;   

  五 判断文件或文件夹是否存在   使用System IO File 要检查一个文件是否存在非常简单     bool exist = System IO File Exists(fileName);

  如果需要判断目录(文件夹)是否存在 可以使用System IO Directory   bool exist = System IO Directory Exists(folderName);

  六 使用delegate类型设计自定义事件   在C#编程中 除了Method和Property 任何Class都可以有自己的事件(Event) 定义和使用自定义事件的步骤如下     ( )在Class之外定义一个delegate类型 用于确定事件程序的接口    ( )在Class内部 声明一个public event变量 类型为上一步骤定义的delegate类型    ( )在某个Method或者Property内部某处 触发事件    ( )Client程序中使用+=操作符指定事件处理程序 

  例子 // 定义Delegate类型 约束事件程序的参数   public delegate void MyEventHandler(object sender long lineNumber) ;   public class DataImports       // 定义新事件NewLineRead    public event MyEventHandler NewLineRead ;    public void ImportData()         long i = ; // 事件参数     while()           i++ ;      // 触发事件      if( NewLineRead != null ) NewLineRead(this i);      //          //        //   

  // 以下为Client代码

  private void CallMethod()       // 声明Class变量 不需要WithEvents    private DataImports _da = null;    // 指定事件处理程序    _da NewLineRead += new MyEventHandler(this DA_EnterNewLine) ;    // 调用Class方法 途中会触发事件    _da ImportData();      // 事件处理程序   private void DA_EnterNewLine(object sender long lineNumber)       //   

cha138/Article/program/net/201311/15559

相关参考

知识大全 几个C#编程的小技巧 (下)

几个C#编程的小技巧(下)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一判断文件或文件夹是否

知识大全 关于C#和.NET编程的小细节,你知道吗

关于C#和.NET编程的小细节,你知道吗  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在编程过

知识大全 C#语言学习:C#数据报编程之测试程序

C#语言学习:C#数据报编程之测试程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  C#中自定

知识大全 C# 编程规范

C#编程规范  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一命名  用pascal规则来命名方

知识大全 叩开C#之门系列之C#与面向对象编程语言

叩开C#之门系列之C#与面向对象编程语言  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  C#是纯

知识大全 C#编程实现动态生成Word文档

C#编程实现动态生成Word文档  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  如何用C#编程实

知识大全 提高C#编程水平的50个要诀

提高C#编程水平的50个要诀  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  提高C#编程水平的个

知识大全 C#编程三步走之一

C#编程三步走之一  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  C#是微软NET架构的主力开发

知识大全 用 C# 编程实现读写Binary

用C#编程实现读写Binary  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本文给出一个用C#

知识大全 C#多线程编程实例

C#多线程编程实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  问题的提出  所谓单个写入程序