C 自定義事件 執行緒實現CTI坐席來電客戶資訊提示

2021-05-22 14:05:36 字數 1720 閱讀 8156

一、建立乙個事件驅動的程式需要下面的步驟:

1. 宣告關於事件的委託;

(1)public delegate void eventhandler(object source, eventargs e);

(2)這裡的eventargs引數是用來進行事件引數傳遞的,如果在使用自定義事件的時候不需要傳遞引數直接使用eventargs即可;如

果需要傳遞任何引數,需要定義乙個繼承自eventargs的類,比如:myeventargs。在這個類中定義其屬性即可,比如:

private datatable dt;

public datatable dt

set

}。這樣在事件處理中就可以使用e.dt得到傳遞過來的引數。

2. 宣告事件;

public event eventhandler on***handler;

3. 建立事件處理程式;

void on***(object source, eventargs e)

4. 註冊事件處理程式;

on***handler += new eventhandler(on***);

5. 在適當的條件下觸發事件。

onchangehandler(this, new eventargs());

二、具體專案實踐

1.概述:實現當cti來電到對應坐席的時候,由製作的對應坐席客戶端提示出相應的客戶資源,如果沒有彈出新建客戶資源。查詢

客戶根據來電的手機或者座機進行查詢。

2.說明:cti服務端已經建立完成(使用的是三匯的語音板卡),當客戶來電的時候,會在cti工控機中的資料庫中自動插入一條數

據,其中有個狀態字段state(0表示客戶端沒有處理,1表示已經處理)。

3.實現:通過在客戶端使用執行緒+自定義事件完成對cti伺服器中的資料庫進行監控,如果發現有狀態為0和對應坐席編號便根據來

電號碼在crm中進行查詢,並且顯示處理。

4.具體**:(這裡主要講述使用執行緒+自定義事件使用)

(1)首先還是進行委託、事件和執行緒宣告,**如下:

public delegate void eventhandler(object source, myeventargs e);//myeventargs是乙個繼承自eventargs的子類,主要用

於傳遞來電號碼等資訊。

public event eventhandler onchangehandler;

thread thread = null;

(2)建立執行緒物件、定義執行緒方法

this.thread = new thread(new threadstart(runinthread));

//定義乙個執行緒方法

private void runinthread()}}

(3)定義乙個事件處理函式

void oninventoryhandler(object source, myeventargs e)

}(4)註冊事件

onchangehandler += new eventhandler(oninventoryhandler);

(5)在客戶端坐席登入後啟動執行緒

this.thread.start();

以上主要是講述的其中使用的自定義事件+執行緒的運用,因為在具體的客戶端和服務端還有一些實現,只是拿出了其中的部分代

碼。如果各位還有更好的實現方法,不妨拿出來討論一下!

C 事件 自定義事件

事件有很多,比如說 滑鼠的事件 mousermove,mouserdown等。鍵盤的事件 keyup,keydown,keypress。有事件,就會有對事件進行處理的方法,而事件和處理方法之間是怎麼聯絡起來的呢?委託就是他們中間的橋梁,事件發生時,委託會知道,然後將事件傳遞給處理方法,處理方法進行相...

c 自定義事件

此 摘自 叩響c 之門 c sharp view plain copy using system 事件傳送者 class dog 事件接收者 class host 註冊事件處理程式 public host dog dog 現在來觸發事件 class program 午夜零點小偷到達,看門狗引發ala...

C 自定義事件

本身今天晚上是要寫一篇關於自定義事件的部落格,然後自己再擼會 可是計畫不如變化,今天聽到同事談到陳冠希拍紀錄片,所以就去優酷上看了一下,連著看完了,要知道我這人有點強迫症,要搞一件事情一定要搞完的,所以現在已經快11點了,記錄完這個就去睡覺了。關於c 自定義事件,通俗的講,它就是乙個特殊的委託。可以...