[b]引言:[/b]
今天做前台c#的同事,糾結在了,「拖拽事件使用的listbox1_mousedown(s, e)會『遮蔽掉』雙擊事件的使用的listbox1_doubleclick」,這一問題上。查證多方資料,沒好的解決方法。
於是筆者休息時實驗了一下,使用e.clicks這個屬性可以解決。具體請參閱正文。
[b]正文:[/b]
實現機理:((mouseeventargs)e).clicks通過值的可以區分單擊雙擊。於是可將雙擊事件實現寫入e.clicks > 1的語句,來達到預期效果。
細節不叨叨,直接上**。
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 c4pluswform
private void listbox1_mousedown(object sender, mouseeventargs e)
// 單擊動作
else
}system.console.writeline("listbox1_mousedown" + e.clicks);
}private void listbox2_dragdrop(object sender, drageventargs e)
}private void listbox2_dragover(object sender, drageventargs e)
private void listbox1_doubleclick(object sender, eventargs e)}}
實驗效果圖如下:
[img]
操作步驟:
0)選中222
1)拖動222
2)雙擊333
3)雙擊1111
C 兩個原則
include using namespace std 2.抽象層業務邏輯 class ireader 3.底層業務邏輯 介面 細節 class book public ireader 介面 細節 class news public ireader 介面 細節 class electricbook ...
C 中兩個類互相引用
一 問題描述 現在有兩個類a和b需要定義,定義a的時候需要用到b,定義b的時候需要用到a。二 分析 a和b的定義和呼叫都放在乙個檔案中肯定是不可以的,這樣就會造成兩個迴圈呼叫的死迴圈。根本原因是 定義a的時候,a的裡面有b,所以就需要去檢視b的佔空間大小,但是檢視的時候又發現需要知道a的佔空間大小,...
C 中兩個冒號( )的作用
global system.console.writeline number 冒號在什麼地方用.點是空間下類,表示下一層的意思?這裡面 前面是gac的標示符global,用法比較特殊,和.不是乙個型別的東西。global 是 c 2.0 中新增的關鍵字,理論上說,如果 寫得好的話,根本不需要用到它。...