簡體   English   中英

listview列標題雙擊事件

[英]listview column header double click event

是否有可能在列表視圖列標題上捕獲鼠標雙擊事件?
我使用listView1_ColumnClick事件處理了click事件,但似乎找不到任何方法可以雙擊它。 在此處輸入圖片說明

如果要管理沒有雙擊事件的控件,則可以使用時間戳來計算兩次單擊之間的時間差。 喜歡 :

    DateTime lastClickDate = DateTime.Now;
    private void listView1_ColumnClick(object sender, ColumnClickEventArgs e)
    {
        //You can change the value 1200 as you want.
        if ((DateTime.Now - lastClickDate).TotalMilliseconds < 1200)
        {
            MessageBox.Show("double clicked");
        }
        this.Text = (DateTime.Now - lastClickDate).TotalMilliseconds.ToString();
        lastClickDate = DateTime.Now;
    }

除了前面的答案,我建議添加鼠標指針的位置。 Cursor.Position將在這方面有所幫助。

DateTime lastClickDate = DateTime.Now;
int xPosition = Cursor.Position.X;
int yPosition = Cursor.Position.Y;  
private void listView1_ColumnClick(object sender, ColumnClickEventArgs e)
{
    //You can change the value 1200 as you want.
    if ((DateTime.Now - lastClickDate).TotalMilliseconds < 1200)
    {
        //Just for example I have given as equals it is better to allow
        //some variation since mouse may be moved a little during clicks          
        if(Cursor.Position.X==xPosition && Cursor.Position.Y==yPosition)
        {   
            MessageBox.Show("double clicked");
        } 
    }
    this.Text = (DateTime.Now - lastClickDate).TotalMilliseconds.ToString();
    lastClickDate = DateTime.Now;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM