Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Events 使用类中的事件_Events_Kinect_Invoke - Fatal编程技术网

Events 使用类中的事件

Events 使用类中的事件,events,kinect,invoke,Events,Kinect,Invoke,我试图在每次事件发生时调用一个函数。在KinectRegion类中有一个名为HandPointerGrip的事件: 我看到它已经声明了该事件,并且在我看来该事件已经被设置为被调用(HandPointerEventArgs)?如何将函数附加到此事件 public菜单() { KinectRegion.HandPointerGripEvent+=手抓握;//为什么不工作?:( } 私人无效手抓(对象发送器、手指器) { MessageBox.Show(“我工作!”;//我希望这能起作用 }

我试图在每次事件发生时调用一个函数。在KinectRegion类中有一个名为HandPointerGrip的事件:

我看到它已经声明了该事件,并且在我看来该事件已经被设置为被调用(HandPointerEventArgs)?如何将函数附加到此事件

public菜单()
{
KinectRegion.HandPointerGripEvent+=手抓握;//为什么不工作?:(
}    
私人无效手抓(对象发送器、手指器)
{
MessageBox.Show(“我工作!”;//我希望这能起作用
}
我一直在努力解决这个问题,我认为这里有一些东西会起作用。害怕测试它。学习了很多关于路由事件、代理和事件的知识

名称空间。。。
{
公共委托void HandPointerEventHandler(对象发送方,handpointerEventTargets e);
公共部分类页面:第页
{
公共事件手控点甚至是被抓的人
{
添加{this.AddHandler(KinectRegion.HandPointerGripEvent,value);}
删除{this.RemoveHandler(KinectRegion.HandPointerGripEvent,vlaue);}
}
公共网页(
{
初始化组件();
this.handchipped+=新的手持指针eventhandler(onhandchipped);
}
手持受保护的虚拟空位(对象发送器、手持指针Eventargs e)
{
MessageBox.Show(“hello”);//希望如此
}
}
}

第一段代码应该可以正常工作。我猜HandPointerGripEvent已经连接好了,只是永远不会触发

你是如何设置你的KinectRegion的? 您是否在每帧更新interration库

也许这有帮助?

KinectRegion.AddHandPointerGripHandler(this.Button1,this.Button1\u单击);
这里的
按钮1
是:

名称空间:

  • xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml“
  • xmlns:k=”http://schemas.microsoft.com/kinect/2013“
按钮1\u单击
是方法本身,例如:

private void按钮1\u单击(对象发送者,路由目标)
{
MessageBox.Show(“你抓住我了!!!”;
}
如果要为另一个接口对象添加夹点处理程序,只需执行以下操作:

KinectRegion.AddHandPointerGripHandler();


和s.o.

我得到一个静态只读字段,无法为第一个代码块分配该字段,+=运算符不能应用于System.Windows.RoutedEvent和metod组。我只是求助于使用类似KinectRegion.AddHandPointerMovehandler()的AddHandPointer;现在我被困在如何为鼠标创建触发器语句上。例如,当按下手时,我希望鼠标在其当前点单击(就像有物理单击一样)。