原创 DataGridView相關方法

DataGridView控件在實際應用中非常實用,特別需要表格顯示數據時。可以靜態綁定數據源,這樣就自動爲DataGridView控件添加相應的行。假如需要動態爲DataGridView控件添加新行,方法有很多種,下面簡單介紹如何爲Dat

原创 Task用法2

隨着 .NET 4.0的到來,她與以前各版本的一個明顯差別就是並行功能的增強,以此來適應這個多核的世界。於是引入了一個新概念---任務,作爲支持並行運算的重要組成部分,同時,也作爲對線程池的一個補充和完善。從所周知,使用線程池有兩個明顯的

原创 OpenFileDialog使用

文件對話框(FileDialog)一、打開文件對話框(OpenFileDialog) 1、 OpenFileDialog控件有以下基本屬性InitialDirectory 對話框的初始目錄Filter 要在對話框中顯示的文件篩選器,例如,

原创 MFC模態和非模態對話框

MFC 模態對話框和非模態對話框 MFC 中對話框有兩種形式,一個是模態對話框(model dialog box),一個是非 模態對話框(modeless dialog box)。 一、模態對話框(model dialog box) 在程

原创 ToString()格式大全

一、基本格式:stringstr1=string.Format("{0:N1}",56789);               //result: 56,789.0stringstr2=string.Format("{0:N2}",5678

原创 UI線程和線程池線程之間通訊之TaskScheduler.FromCurrentSynchronizationContext()

講了如何在UI線程和線程池線程之間通訊。一般來說,UI線程擁有的對象,其他線程是無法操作的。但是.Net有一個很重要的抽象對象——TaskScheduler(任務調度器)。它協調着不同任務(線程)的運行,使得線程池中的線程有了操作UI線程

原创 Queue

1、Queue定義隊列(Queue)代表了一個先進先出的對象集合。當您需要對各項進行先進先出的訪問時,則使用隊列。當您在列表中添加一項,稱爲入隊,當您從列表中移除一項時,稱爲出隊。 2、優點 a、能對集合進行順序處理(先進先出)。 b、能

原创 Task用法1

其實Task跟線程池ThreadPool的功能類似,不過寫起來更爲簡單,直觀。代碼更簡潔了,使用Task來進行操作。可以跟線程一樣可以輕鬆的對執行的方法進行控制。順便提一下,配合CancellationTokenSource類更爲可以輕鬆

原创 byte數組與結構體的轉換

在寫C#TCP通信程序時,發送數據時,只能發送byte數組,處理起來比較麻煩不說,如果是和VC6.0等寫的程序通信的話,很多的都是傳送結構體,在VC6.0中可以很方便的把一個char[]數組轉換爲一個結構體,而在C#卻不能直接把byte數

原创 StringBuilder

String 對象是不可改變的。每次使用 System.String 類中的方法之一時,都要在內存中創建一個新的字符串對象,這就需要爲該新對象分配新的空間。在需要對字符串執行重複修改的情況下,與創建新的 String 對象相關的系統開銷可