检查是否已在此编辑器窗口的 GUI 中收到 MouseEnterWindow 和 MouseLeaveWindow 事件。
如果设置为 true,则每当鼠标进入或离开窗口时,该窗口都会收到一次 OnGUI 调用。
**注意**:此函数不会自动触发 Repaint()。此外,在进入或离开窗口的同时按下鼠标按钮不会触发任一事件,因为按下鼠标按钮会激活拖动模式(请参阅 EventType.MouseDrag 和其他拖动相关的事件,以了解更多信息)。
// Editor Script that shows how mouse enter and leave window events // get caught in the Editor window using UnityEditor; using UnityEngine; public class WantsMouseEnterLeaveWindowEx : EditorWindow { [MenuItem("Examples/wantsMouseEnterLeaveWindow example")] static void Init() { EditorWindow editorWindow = GetWindow(typeof(WantsMouseEnterLeaveWindowEx)); editorWindow.Show(); } public void OnGUI() { wantsMouseEnterLeaveWindow = EditorGUILayout.Toggle("Receive Enter/Leave: ", wantsMouseEnterLeaveWindow); EditorGUILayout.LabelField("Check Console for MouseEnter/LeaveWindow messages"); // Repaint the window as wantsMouseEnterLeaveWindow doesn't trigger a repaint automatically if (Event.current.type == EventType.MouseEnterWindow || Event.current.type == EventType.MouseLeaveWindow) { Debug.Log("Received event " + ((Event.current.type == EventType.MouseEnterWindow) ? "MouseEnterWindow" : "MouseLeaveWindow")); Repaint(); } } }
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.