簡體   English   中英

C#鼠標事件序列

[英]c# mouse event sequence

問題...為什么此代碼僅產生一個消息框“ Down”? 我沒有起來。 如果我阻止代碼,向上工作。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Mouse
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }   
        private void Form1_MouseUp(object sender, MouseEventArgs e)
        {
           MessageBox.Show("Up");                     
        }
        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
           MessageBox.Show("Down");
        }     
    }
}

因為您正在顯示一個MessageBox

每當發生鼠標按下事件時,都會彈出一個MessageBox MessageBox將位於前台,而up事件將位於MessageBox而不是窗體上。 因此,表單中的up事件不會觸發

只需做一個Console.WriteLine而不是MessageBox ,它應該可以按預期工作

如果您刪除消息框調用,它們都會觸發。 這會干擾鼠標事件,因為您將注意力集中在表單上。 而不是使用消息框,請嘗試使用...

  Console.WriteLine("MouseUp"); 

這將顯示在輸出窗口中,並且不會干擾事件

暫無
暫無

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

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