处理鼠标事件

时间:2010-06-20 19:18:17

标签: c# .net winforms

我正在使用Windows窗体。我在处理鼠标事件时遇到问题。在我的应用程序中,顶部有菜单栏。在菜单栏中,我有几个tooltripmenu项目。我希望当工具栏菜单项突出显示时,它会在标签中显示一些描述。我完全糊涂了。我曾经用什么事来处理这个问题。我用鼠标输入,鼠标移动&鼠标离开事件,但当鼠标进入任何菜单项的区域时,它没有问题。当鼠标进入或鼠标移动项目时,标签会显示一些描述。但是当我将鼠标移动到其他形式的区域时。标签保留显示有关项目的描述。我希望当鼠标离开toolstripmenu项目的区域时,标签变为空白。帮我解决这个问题


我将它用于toolstripmenuitem。鼠标输入&鼠标移动事件工作正常,但鼠标离开事件的主要问题。当我在“打开”选项上移动鼠标时,它会在标签中显示描述,但是当我的鼠标离开此选项或保留此选项的可见部分时。标签描述是相同的。实际上鼠标离开事件在离开“打开”选项后任何其他控件处于焦点时触发。例如,我有menustrip&在menustrip我有几个选择。例如,第一个选项是“打开”&我想要当鼠标进入“打开”选项的可见部分时,它在状态栏中显示描述标签“打开文件”&当我的鼠标离开“打开”选项的可见部分时,状态标签变为空白但问题是当鼠标离开事件触发时我无法正确理解。谢谢你回答这个问题。


这是我的代码。看看&告诉我这是什么问题?

private void openToolStripMenuItem_MouseEnter(object sender, EventArgs e)
{
         label1.Text =  "Open files";

}


private void openToolStripMenuItem_MouseLeave(object sender, EventArgs e)
{
         label1.Text = "";

}

2 个答案:

答案 0 :(得分:1)

在menuStrip中使用MouseLeave事件,并将标签文本设置为“”。
或在表单中使用相同的鼠标事件,并将标签文本设置为“”.. 我的意思是:

 private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            label1.Text = "";
        }

如果要在表单上显示鼠标时显示文本,则可以使用此解决方案。

答案 1 :(得分:0)

使用MouseLeave事件。与MouseOver相同,当您捕获菜单项的MouseLeave时,将Label的Text属性更改为“”(即空白)

相关问题