在用CS结构开发系统时,我们常会使用到多线程来处理程序,其中一个就是使用跨线程访问控件或设置控件属性。如果这样,在调试时会提示出错,不能在其它线程中修改创建控件的线程的控件的值。这是因为.net 2.0以后加强了安全机制,不允许在winform中直接跨线程访问控件的属性。
我们先看一下传统的程序:
设计界面如下:在窗体中添加一个Label控件(用来显示时间)
源程序:
using System;
using System.Windows.Forms;
using System.Threading;
namespace KingChat
{
public partial class SystemLogin : DevExpress.XtraEditors.XtraForm
{
public SystemLogin()
{
InitializeComponent();
}
private void SystemLogin_Load(object sender, EventArgs e)
{
Thread newThread = new Thread(newThreadStart(threadFuntion));
newThread.IsBackground = true;
newThread.Start();
}
private void threadFuntion()
{
while (true)
{