3
我有一個按鈕,並在鼠標輸入時彈出一個小窗體,並在按鈕的mouseleave時,小窗體消失。我需要這種形式不接受任何鼠標事件,換句話說,對鼠標是「不可見的」。在winforms中,我如何使控件不接受鼠標事件
問題是,窗體在鼠標下彈出,觸發按鈕的mouseleave事件。我知道還有其他方法可以解決這個問題,但是當鼠標離開觸發表單的原始按鈕時,我需要隱藏窗體,而且我還需要將窗體顯示在鼠標下面。
那麼如何讓鼠標事件不可見的小彈出窗體,以便它不會導致按鈕觸發「鼠標離開」事件?
彈出窗口是「窗體」類型。這裏是觸發顯示和隱藏形式的mouseenter和鼠標離開代碼:
private void btnPatientSearch_MouseEnter(object sender, EventArgs e)
{
_currentPatientInfo = new PatientInfo()
{
MdiParent = this.MdiParent
};
_currentPatientInfo.Show();
_currentPatientInfo.Location = new Point(181, 9);
}
}
private void btnPatientSearch_MouseLeave(object sender, EventArgs e)
{
if (_currentPatientInfo == null) return;
_currentPatientInfo.Hide();
_currentPatientInfo = null;
}
是彈出不可見的,還是繪製在指針?當你看看form1.designer.cs它在哪裏有框被繪製。或者更好的是,你可以修改帖子並添加自動生成的代碼爲彈出?又是什麼?它是一個面板嗎?你可以發佈按鈕的鼠標事件嗎? – alykins
好的,我添加了mouseenter和mouseleave代碼。設計師生成的代碼非常多。 –
添加btnPatientSearch.Capture = true;在MouseEnter事件處理程序中。 –