原创 vs2010c#windows窗體程序打包

爲了將所編寫的程序打包,讓用戶方便操作,無需編譯環境,就像我們平時使用的app 1。首先,打開你編寫好的程序 2。文件----新建----新建項目--其他項目類型--Visual Studio Installer-安裝項目---命名 3。右

原创 linq學習之join

  using factory; namespace MyWebSiteTest { public partial class linqtest : System.Web.UI.Page { stati

原创 C# WinForm程序中,使用多線程,在關閉窗體時 怎麼關閉窗體的所有線程,使程序退出。

this.Close();   只是關閉當前窗口,若不是主窗體的話,是無法退出程序的,另外若有託管線程(非主線程),也無法乾淨地退出; Application.Exit();  強制所有消息中止,退出所有的窗體,但是若有託管線程(非主線程

原创 C# pictureBox.Image獲得圖片的三種方法

1 1.絕對路徑: 2 this.pictureBox.Image=Image.FromFile("C:\\test.jpg"); 3 4 2.相對路徑: 5 Application.StartupPath; 6

原创 jquery-data的三種用法

1.jquery-data的用處 jQuery-data主要是用來存儲數據,幫助普通對象或者jQuery對象來存儲數據,其實如果單純的儲存dom的單一的屬性,用attr自定義屬性足夠了;如果存儲多個鍵值對建議用jQuery-data; 例

原创 C# winform 啓動外部程序

啓用外部程序有很多方法,我自己要啓動的程序因爲內部調用了第三方的驅動,通過其它的調用方法均無法完美打開,始終有功能缺陷 下面介紹幾種可打開的方式: 1、通過內置 Process 方式打開程序 1 Process m_Process = n

原创 Thread中join()方法

Thread中,join()方法的作用是調用線程等待該線程完成後,才能繼續用下運行。   public static void main(String[] args) throws InterruptedException {

原创 Access數據庫連接池

  Access數據庫沒有數據庫連接池,每次打開和關閉數據庫時都非常耗時,自己編寫了一個簡易的數據庫連接池,添加數據庫類型還可支持其他沒有數據庫連接池的數據庫類型。 該數據庫連接池要求必須更改web.config中的數據庫連接字符串,添

原创 C#中Monitor對象與Lock關鍵字的區別分析

這篇文章主要介紹了C#中Monitor對象與Lock關鍵字的區別,需要的朋友可以參考下   Monitor對象1.Monitor.Enter(object)方法是獲取 鎖,Monitor.Exit(object)方法是釋放鎖,這就是Moni

原创 C#中abstract的用法詳解

abstract可以用來修飾類,方法,屬性,索引器和時間,這裏不包括字段. 使用abstrac修飾的類,該類只能作爲其他類的基類,不能實例化,而且abstract修飾的成員在派生類中必須全部實現,不允許部分實現,否則編譯異常. 如: us

原创 C#資源釋放方法實例分析

這篇文章主要介紹了C#資源釋放方法,結合實例詳細分析了C#資源釋放的具體方法與相關技巧,需要的朋友可以參考下: 1、try{ }finally{ } 2、using   只有類型實現了IDisposable接口並且重寫Dispose(

原创 C# 虛方法virtual詳解

在C++、Java等衆多OOP語言裏都可以看到virtual的身影,而C#作爲一個完全面向對象的語言當然也不例外。 虛擬函數從C#的程序編譯的角度來看,它和其它一般的函數有什麼區別呢?一般函數在編譯時就靜態地編譯到了執行文件中,其相對地址在

原创 C#定時器的用法

關於C#中timer類  在C#裏關於定時器類就有3個   1.定義在System.Windows.Forms裏   2.定義在System.Threading.Timer類裏   3.定義在System.Timers.Timer類裏 Sy

原创 C# 定時執行,文件佔用

C# 定時執行,每間隔時間就去執行一次, 但是上次沒有執行完時間到就執行,會出現文件佔用 ,怎麼辦?   假設由Timer1Tick函數來處bai理定時器的duTick事件。zhi這樣就行了:daovoid Timer1Tick(objec

原创 C# 類的析構函數和釋放函數

今天覆習了一下C#基礎知識,剛好看到了析構函數這裏,有了進一步瞭解,記錄一下,與君共勉 ~類名() { //一些要釋放的代碼 } “~”做前綴,加類名就構成了析構函數。 我們不能自己調用析構函數,它是在.NET垃圾收集