一、最小化視窗
點選「x」或「alt f4」時,最小化視窗,
如:protected override void wndproc(ref message m)
base.wndproc(ref m);
}在編譯的時候,c#編輯器會對每乙個foreach 區域進行轉換。ienumerator enumerator = array.getenumerator();
try
}finally
這說明在後台,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)
五、判斷檔案或資料夾是否存在
使用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)。定義和使用自定義事件的步驟如下:
(1)在class之外定義乙個delegate型別,用於確定事件程式的介面
(2)在class內部,宣告乙個public event變數,型別為上一步驟定義的delegate型別
(3)在某個method或者property內部某處,觸發事件
(4)client程式中使用 =操作符指定事件處理程式
例子: // 定義delegate型別,約束事件程式的引數
public delegate void myeventhandler(object sender, long linenumber) ;
public class dataimports
//...
}//...
}// 以下為client**
private void callmethod()
// 事件處理程式
private void da_enternewline(object sender, long linenumber)
七、ip與主機名解析
使用system.net可以實現與ping命令列類似的ip解析功能,例如將主機名解析為ip或者反過來: private string gethostnamebyip(string ipaddress)
private string getipbyhostname(string hostname)
七個C 程式設計小技巧
一 最小化視窗 點選 x 或 alt f4 時,最小化視窗,如 protected override void wndproc ref message m base.wndproc ref m 二 如何讓foreach 迴圈執行的更快 foreach是乙個對集合中的元素進行簡單的列舉及處理的現成語句...
七個C 程式設計的小技巧
呼叫class方法,途中會觸發事件 da.importdata 事件處理程式 private void da enternewline object sender,long linenumber 七 ip與主機名解析 使用system.net可以實現與ping命令列類似的ip解析功能,例如將主機名解...
七個Git技巧
1.git的自動更正 我們有時都會打錯字,但如果啟用了 git 的自動更正功能,就可以讓 git 自動修正打錯的子命令。假設你想用git status檢查狀態,卻不小心輸入了git stats。正常情況下,git 會告訴你stats不是一條有效的命令 1 git stats 2 git stats ...