[C#] UserControl(一) – 建立自訂控制項

這篇將介紹使用UserControl自訂Winform控制項
同時利用委派(Delegate)解決跨執行緒(Thread)呼叫的問題

  • 範例:CustomProgressBar

  • 說明:

1. 自訂一個ProgressBar,結合Label做文字顯示。
2.提供UpdateProgress的Method,讓其他執行緒(Thread)能直接做使用。

  • 實作:

1. New Project → Class Library
2. Add New Item → User Control
3. Design →  Add Label and ProgressBar
2016-12-15 下午 02-09-09.png

4. 撰寫UpdateProgress(int value)委派及方法

private delegate void Del(int value);  
public void UpdateProgress(int value)  
{           
    if (this.InvokeRequired)  
        this.Invoke(new Del(UpdateProgress), new object[] { value });  
    else  
    {  
        progressBar.Value = value;  
        label.Text = "Progress:  " + value + " %";  
    }  
}

5.完成,編譯成dll給其他Project引用
2016-12-15 下午 02-27-47.png


下一篇將引用此控制項,並進行實測。

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s