调用设计器在 SDK - C# 中创建的事件
本文关键字:创建 事件 SDK 调用 | 更新日期: 2023-09-27 18:31:35
所以我有这段代码,我不明白为什么它的工作原理。这是代码。
using Microsoft.Kinect;
,
KinectSensor.KinectSensors.StatusChanged += KinectSensors_StatusChanged;
和
private void KinectSensors_StatusChanged(object sender, StatusChangedEventArgs e)
{ ... }
首先是一些信息(对于不知道的人)。"KinectSensore"是一个对象。每当 kinect 更改状态(它是一个事件处理程序)时,都会调用"状态更改"。
我不完全明白的是整个第二代码是如何工作的,以及"e"在被调用时会得到什么。
当
状态更改时,StatusChanged
由KinectSensorCollection
引发,例如在该集合中添加或删除 Kinect。 它通常用于初始化新连接的传感器,或在断开连接时进行清理。 您可以在工具包中提供的许多示例中看到它的实际效果。
StatusChangedEventArgs
只有两个成员:
-
Sensor
:获取已更改状态的传感器。 -
Status
:获取传感器的状态,指示它是否已连接并准备就绪。
您将使用 StatusChangedEventArgs
对象来访问新添加的传感器(您可以从Status
成员那里知道该传感器)以对其进行初始化。 另一方面,当特定Sensor
断开连接时,您将使用相同的对象来清理事件处理程序和与特定关联的其他对象。
更新
在这种情况下,+=
运算符将事件处理程序添加到StatusChanged
事件。 可以通过以下链接了解如何使用 +=
在代码中添加事件处理程序:http://msdn.microsoft.com/en-us/library/ms743596.aspx
此页面在代码注释中提到了-=
。 当+=
添加事件处理程序时,-=
将其带走。
sender
和e
是从事件发送到事件处理程序的参数。 您可以在 MSDN 中搜索有关它们的所有详细信息,以及与 C# 相关的任何其他内容。 sender
是发送事件的对象 - 它将是一个 Kinect 传感器。 e
有两个成员,我在上面描述了。