当前位置:  开发笔记 > 编程语言 > 正文

MouseHover在鼠标关闭时不会触发

如何解决《MouseHover在鼠标关闭时不会触发》经验,为你挑选了0个好方法。

我正在开发一个WordSearch拼图程序(也称为WordFind),你必须在其中找到大量字母中的某些单词.我正在使用C#WinForms.

我的问题是当我想点击并按住1个字母(Label),然后拖到其他字母来改变它们ForeColor.我试过谷歌搜索但无济于事.

这是我有的:

foreach (Letter a in game.GetLetters())
{
     this.Controls.Add(a);
     a.MouseDown += (s, e2) =>
     {
         isDown = true;
         a.ForeColor = Color.Yellow;
     };
     a.MouseUp += (s, e2) =>
     {
         isDown = false;
     };
     a.MouseHover += (s, e2) =>
     {
         if (isDown)
             a.ForeColor = Color.Yellow;
     };
}

但是,除非未按住鼠标,否则MouseHover事件永远不会触发.还没有运气换MouseHoverMouseEnter.所以,我保留了MouseDownMouseUp事件并尝试在表单中使用MouseHover:

private void frmMain_MouseHover(object sender, MouseEventArgs e)
{
    if (isDown)
    {
        foreach (Letter l in game.GetLetters())
           if (l.ClientRectangle.Contains(l.PointToClient(Control.MousePosition)))
               l.ForeColor = Color.Purple;
    }
}

这个事件也没有触发,我不知道为什么它没有解雇,以及一些替代解决方案是什么.任何建议表示赞赏.

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有