[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); } }}