程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 幾個C#編程的小技巧 (一)

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

編輯:.NET實例教程
一、最小化窗口 

點擊“X”或“Alt+F4”時,最小化窗口, 
如: 
protected override void WndProc(ref Message m) 

const int WM_SYSCOMMAND = 0x0112; 
const int SC_CLOSE = 0xF060; 
if (m.Msg == WM_SYSCOMMAND && (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 Class1 

static void Main(string[] args) 

// create an ArrayList of strings 
ArrayList array = new ArrayList(); 
array.Add("Marty"); 
array.Add("Bill"); 
array.Add("George"); 
// 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 richTextBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) 

if(e.Control && e.KeyCode==Keys.V) 
e.Handled = true; 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved