本主题将提供每种事件类型的概要。请参阅 API 文档了解每个事件成员及其用途的完整描述。
实现 IMouseCaptureEvent
的事件。
元素接受鼠标捕获时发送 MouseCaptureEvent
。
target
:接受捕获的元素。
元素释放鼠标捕获或以其他方式失去鼠标捕获时发送 MouseCaptureOutEvent
。
target
:失去捕获的元素。
实现 IChangeEvent
的事件。
ChangeEvent<T>
是元素值更改时发送的通用事件。通常在控件更改时发送。对于 InputEvent
控件,不会针对控件中的每个输入事件发送此事件,而是仅在值更改时发送。通常是控件失去焦点或按下 Enter
键时。
<T>
:值的类型。
target
:发生值更改的元素。
previousValue
:旧控件值。
newValue
:新控件值。
实现 ICommandEvent
的事件。
target
:获得键盘焦点的元素。如果没有元素获得焦点,则为 null。
commandName
:用于验证或执行的命令。
此事件由 IMGUI 发送,同时可确定该命令是否由面板中的元素处理。
当面板中的元素执行命令时,IMGUI 将发送此事件。
拖放操作期间发送的事件。
已取消拖放操作。放置目标未接受拖动元素。
拖动的元素移到放置目标上方。如果放置目标愿意接受拖动的元素,则此事件的回调应设置 DragAndDrop.visualMode
以确保在用户松开鼠标键时发送 DragPerformEvent
。
拖动的元素已放置在接受它们的目标上。拖放操作现在已完成。
拖动的元素进入了新的 VisualElement
。具体而言,此事件在拖动操作开始时发送。
拖动的元素离开了当前放置目标。具体而言,此事件在拖动操作结束时发送。
当元素的位置或尺寸发生变化时发送的事件。此类型的事件仅发送到事件目标。它们不会传播。
target
:具有新几何形状的元素。
oldRect
:元素先前的位置和尺寸。
newRect
:元素的新位置和尺寸。
实现 IFocusEvent
的事件。
在元素获得或失去键盘焦点时发送这些事件。有两组焦点事件:
FocusOutEvent
和 FocusInEvent
事件。FocusEvent
和 BlurEvent
事件发送到事件目标。当元素即将失去焦点时发送的事件。
target
:将失去焦点的元素。
relatedTarget
:将获得焦点的元素。
当元素即将获得焦点时发送的事件。
target
:将获得焦点的元素。
relatedTarget
:将失去焦点的元素。
当元素失去焦点后发送的事件。
target
:失去焦点的元素。
relatedTarget
:获得焦点的元素。
当元素获得焦点后发送的事件。
target
:获得焦点的元素。
relatedTarget
:失去焦点的元素。
将数据输入到视觉元素(通常是控件)时发送的事件。此事件与 ChangeEvent
的不同之处在于,即使控件的值未更改,也会针对控件中的每个输入事件发送此事件。
target
:执行输入的元素。
previousData
:以前的数据。
newData
:新数据。
实现 IKeyboardEvent
的事件。
用户按下键盘上的键时发送的事件。
target
:具有键盘焦点的元素。如果没有元素具有键盘焦点,则为面板的根元素。
用户松开键盘上的键时发送的事件。
target
:具有键盘焦点的元素。如果没有元素具有键盘焦点,则为面板的根元素。
实现 IKeyboardEvent
的事件。
当元素捕获鼠标时,鼠标事件仅发送到进行捕获的元素。无传播。
用户按下其中一个鼠标键时发送的事件。
target
:如果一个元素接受了鼠标捕获,此元素便是捕获鼠标的元素。否则是光标下最上层的可选元素。
用户松开其中一个鼠标键时发送的事件。
target
:如果一个元素接受了鼠标捕获,此元素便是捕获鼠标的元素。否则是光标下最上层的可选元素。
用户移动鼠标时发送的事件。
target
:如果一个元素接受了鼠标捕获,此元素便是捕获鼠标的元素。否则是光标下最上层的可选元素。
用户按下并松开第三个鼠标键时发送的事件。此事件仅用于向后兼容 IMGUI。
用户激活鼠标滚轮时发送的事件。
target
:如果一个元素接受了鼠标捕获,此元素便是捕获鼠标的元素。否则是光标下最上层的可选元素。
鼠标进入窗口时发送的事件。
target
:如果一个元素接受了鼠标捕获,此元素便是捕获鼠标的元素。否则是光标下最上层的可选元素。
鼠标离开窗口时发送的事件。
target
:如果一个元素接受了鼠标捕获,此元素便是捕获鼠标的元素。否则为 null,因为光标不在元素上方。
鼠标进入元素或其后代之一时发送的事件。此事件与 MouseOverEvent
的不同之处在于,此事件将发送到鼠标进入的每个元素。此事件不会传播。
target
:鼠标光标下的元素或其后代之一。
鼠标离开元素或其后代之一时发送的事件。此事件与 MouseOutEvent
的不同之处在于,此事件将发送到鼠标退出的每个元素。此事件不会传播。
target
:刚被鼠标光标退出或后代之一被鼠标光标退出的元素。
鼠标进入元素时发送的事件。此事件与 MouseEnterEvent
的不同之处在于,此事件仅发送到鼠标进入的元素。.此事件不会传播。
target
:现在位于鼠标光标下的元素。
鼠标离开元素时发送的事件。此事件与 MouseLeaveEvent
的不同之处在于,此事件仅发送到鼠标已退出的元素并会传播。
target
:鼠标光标刚退出的元素。
当需要使用菜单项填充上下文菜单时由 ContextualMenuManager
发送的事件。
target
:要构建上下文菜单的元素。
在元素附加到 IPanel
后立即发送的事件。由于
面板的设置是递归的,因此元素的所有后代也会
接收该事件。
target
:要附加到面板的元素。
在元素与 IPanel
分离之前发送的事件。由于
面板的设置是递归的,因此元素的所有后代也会
接收该事件。
target
:要从面板分离的元素。
在显示工具提示之前发送的事件。处理程序应该设置 TooltipEvent.tooltip
字符串和 TooltipEvent.rect
。
target
:需要显示工具提示的元素。
用于封装 IMGUI 特有事件的事件。
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.