Управление MouseHover и MouseLeave Events

Я строил простую форму с одним простым эффектом - уменьшенная непрозрачность, когда мышь не находится над формой, и форма становится непрозрачной, когда мышь находится над ней. В настоящее время я сталкиваюсь с несколькими трудностями:

Во-первых, я сделал это

 this.MouseHover += new EventHandler(Form1_MouseHover);
 this.MouseLeave += new EventHandler(Form1_MouseLeave);

Но у меня тоже было 1 richtextbox в форме, и когда мышь на нем переместилась, форма снова потеряла прозрачность. Я должен был добавить это тоже: -

 richTextBox1.MouseHover+=new EventHandler(Form1_MouseHover);
 richTextBox1.MouseLeave+=new EventHandler(Form1_MouseLeave);

интересно, есть ли лучший способ, потому что между richtextbox и границами формы все еще есть некоторый разрыв, и форма теряет непрозрачность, когда курсор мыши перемещается туда.

Если мышь НЕ находится над формой (предположим, изначально), форма менее непрозрачна. Теперь я хочу, чтобы форма стала непрозрачной, как только на нее наведет мышь, но это происходит только тогда, когда движение мыши над формой полностью прекращается. Если я продолжаю перемещать мышь над формой, она не становится непрозрачной. Это проблема с тем, как события хранятся в очереди сообщений и все это, или я смогу что-то сделать, потому что я видел приложения с эффектом, который я пытаюсь реализовать.

Ответы на вопрос(4)

Ваш ответ на вопрос