首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#中timer的用法。生手求教

2013-01-20 
C#中timer的用法。。。新手求教我一开始的程序 private void SensorSkeletonFrameReady(object sender, Skele

C#中timer的用法。。。新手求教
我一开始的程序
 private void SensorSkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
        {
            Skeleton[] skeletons = new Skeleton[0];

            using (SkeletonFrame skeletonFrame = e.OpenSkeletonFrame())
            {

                if (skeletonFrame == null) return;
                    
                skeletons = new Skeleton[skeletonFrame.SkeletonArrayLength];
          
                skeletonFrame.CopySkeletonDataTo(skeletons);
                Skeleton skeleton = skeletons.Where(s => s.TrackingState == SkeletonTrackingState.Tracked).FirstOrDefault();
                if (skeleton != null)
                {
                    
                    // Obtain the left knee joint; 
                    Joint  j = skeleton.Joints[JointType.KneeLeft] ;

                   if (j.TrackingState == JointTrackingState.Tracked)
                    {
                       float  a = j.Position.X;
                       float  b = j.Position.Y;
                       float  c = j.Position.Z;
                    }
                }
            }
     }
得到的a,b,c是三个坐标。我想用timer控件,在一段时间后再次执行上面的程序,得到新的坐标A,B,C.然后比较坐标有没有变化。。。
求大神指教。。。
[解决办法]
1、将abc设置为全局变量
2、添加time控件,然后设置时间间隔
3、在time的默认事件中写获得坐标与比较的代码
[解决办法]

引用:
引用:没有必要用锁的
System.Timers.Timer t =   
new System.Timers.Timer(10000);  


//实例化Timer类,设置间隔时间为10000毫秒;   
t.Elapsed +=   
new System.Timers.ElapsedEventHandler(theo……


建议用这个  就内存效率来讲

热点排行