读书人

[6月27日]解决马下给分

发布时间: 2012-07-02 17:46:22 作者: rapoo

[6月27日]解决马上给分
通过动态 我new了100个 Axzkemkeeper.AxCZKEM ax 对象,并且注册事件时都是OnAttTransactionEx(这100个对象是给100台考勤机设置的,当用户在1~100的考勤机打卡时,就触发下面这个事件)

我的问题:主界面卡。
一触发这个事件 主界面就定住了,请问根据 我的情况这个问题如何解决。 (请举例子,或简单代码)

C# code
 private void ax_OnAttTransactionEx(object sender, Axzkemkeeper._IZKEMEvents_OnAttTransactionExEvent e)        {           //....                 }


[解决办法]
多线程
[解决办法]
比较简单的用BackgroundThread控件:

C# code
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace Threading.UI.Winforms{    public partial class BackgroundWorkerBadExample : Form    {        public BackgroundWorkerBadExample()        {            InitializeComponent();        }        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)        {            try            {                for (int i = 0; i < (int)e.Argument; i++)                {                    txtResults.Text += string.Format(                        "processing {0}\r\n", i.ToString());                }            }            catch (InvalidOperationException oex)            {                MessageBox.Show(oex.Message);            }        }        private void backgroundWorker1_RunWorkerCompleted(object sender,             RunWorkerCompletedEventArgs e)        {            MessageBox.Show("Completed background task");        }        private void btnGo_Click(object sender, EventArgs e)        {            backgroundWorker1.RunWorkerAsync(100);        }    }} 

读书人网 >C#

热点推荐