[C#]簡單的GUI Form時鐘程式

這是一個Thread的簡單應用,利用一個Thread在背景執行,每一秒設定Form上的元件來顯示時分秒,因為Form上的元件不能在其它不是Form本身Thread的執行緒上執行,所以要利用Form的invoke來呼叫Delegate Function設定元件值。

Label1是時、Label2是分、Label3秒,然後run這個function每一秒會去加秒數,當為六十秒時自動幫分加一,而秒數變零,當分為六十分時,自動幫時加一,而分變零,當時為二十四時,時變零。

Form的設定如下:

C#時鐘form

以下是執行畫面:

C#時鐘執行中

Read More

C# Thread應用

Java的Thread是利用繼承Thread或是實作Runable來實現的,而C#確是不一樣的, C#利用一個new System.Threading.Thread物件,建構時傳入想要在執行緒裡動作的事件,
啟動方法跟Java一樣,利用Start()來開始這個執行序,

System.Threading.Thread t = new System.Threading.Thread(要執行的Function名稱);

啟動方式

t.Start();

那如果有參數要傳入呢?

可以撰寫一個Class,先建構及設定好需要的參數,再把這個class實作的物件及方法傳入實作的System.Threading.Thread物件裡

Object x = new Object();

System.Threading.Thread t = new System.Threading.Thread(x.方法);

這裡有一個範例可以參考一下

先建立一個Class,名叫thread1

利用無窮迴圈讓內容一直跑,再利用Sleep(毫秒)來使其停一秒再執行。

Read More