熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

幾個C#編程的小技巧 (上)

2022-06-13   來源: .NET編程 

  一最小化窗口

  點擊XAlt+F最小化窗口
  如
  protected override void WndProc(ref Message m)
  {
   const int WM_SYSCOMMAND = x;
   const int SC_CLOSE = xF;
   if (mMsg == WM_SYSCOMMAND && (int) mWParam == SC_CLOSE)
   {
    // User clicked close button
    thisWindowState = FormWindowStateMinimized;
    return;
   }
   baseWndProc(ref m);
  }

  二如何讓Foreach 循環運行的更快

  foreach是一個對集合中的元素進行簡單的枚舉及處理的現成語句用法如下例所示
  using System;
  using SystemCollections;
  namespace LoopTest
  {
   class Class
   {
    static void Main(string[] args)
    {
     // create an ArrayList of strings
     ArrayList array = new ArrayList();
     arrayAdd(Marty);
     arrayAdd(Bill);
     arrayAdd(George);
     // print the value of every item
     foreach (string item in array)
     {
      ConsoleWriteLine(item);
     }
    }
   }
  }

  你可以將foreach語句用在每個實現了Ienumerable接口的集合裡如果想了解更多foreach的用法你可以查看NET Framework SDK文檔中的C# Language Specification

  在編譯的時候C#編輯器會對每一個foreach 區域進行轉換IEnumerator enumerator = arrayGetEnumerator();
  try
  {
   string item;
   while (enumeratorMoveNext())
   {
    item = (string) enumeratorCurrent;
    ConsoleWriteLine(item);
   }
  }
  finally
  {
   IDisposable d = enumerator as IDisposable;
   if (d != null) dDispose();
  }

  這說明在後台foreach的管理會給你的程序帶來一些增加系統開銷的額外代碼

  三將圖片保存到一個XML文件

  WinForm的資源文件中將PictureBox的Image屬性等非文字內容都轉變成文本保存這是通過序列化(Serialization)實現的
例子//
  using SystemRuntimeSerializationFormattersSoap;
  Stream stream = new FileStream(E:\\ImagexmlFileModeCreateFileAccessWriteFileShareNone);
  SoapFormatter f = new SoapFormatter();
  Image img = ImageFromFile(E:\\Imagebmp);
  fSerialize(streamimg);
  streamClose();

  四屏蔽CTRLV

  在WinForm中的TextBox控件沒有辦法屏蔽CTRLV的剪貼板粘貼動作如果需要一個輸入框但是不希望用戶粘貼剪貼板的內容可以改用RichTextBox控件並且在KeyDown中屏蔽掉CTRLV鍵例子

  private void richTextBox_KeyDown(object sender SystemWindowsFormsKeyEventArgs e)
  { 
   if(eControl && eKeyCode==KeysV)
   eHandled = true;
  }


From:http://tw.wingwit.com/Article/program/net/201311/14675.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.