求助大神 c#中能否记录在from窗体中鼠标两次单击之间的时间间隔

或者其他方式获取这个时间也行~谢谢大神们... 或者其他方式获取这个时间也行~谢谢大神们 展开
 我来答
s287937592
推荐于2020-12-26 · 超过53用户采纳过TA的回答
知道小有建树答主
回答量:98
采纳率:0%
帮助的人:94.9万
展开全部
你想获取这个时间间隔,可以在事件外做个计数器(int js=0;)和记录上次时间的变量(DateTime time;),然后在鼠标单击事件中
js++;
if(js==2)
{
TimeSpan ts=DateTime.Now-time;//ts就是结果
js=0;
}else
{
time=DateTime.Now;
}
这个只能取到1次和2次,3次和4次....的间隔时间,取不到2次和3次的间隔
如果是所有点击的上次和本次时间间隔,如下
在事件外定义一个变量DateTime time=DateTime.MinValue;事件中
if(time==DateTime.MinValue)
{
time=DateTime.Now;
}else
{
TimeSpan ts=DateTime.Now-time;//ts就是结果
}
追问
请问TimeSpan ts里面的哪个属性是我需要的时间间隔?再次感谢 我是c#新手呵呵 另外我需要的时间间隔需要精度比较高可以么 精确到毫秒
追答
TimeSpan是时间片断,能得到年月日时分秒毫秒,里面都对应有属性.
注意一下里面有总计和当前之分,你比如你说的毫秒吧,如果是用Milliseconds这个属性就是当前时间的毫秒数,用TotalMilliseconds是获取timespan片断中总计多少毫秒.举个例当前timespan中的时间片断是1天2小时3分4秒5毫秒,那么用Milliseconds就会得到5,用TotalMilliseconds就会得到1天2小时3分4秒5毫秒总计多少秒
你获取对应时间的属性值得到都是整数,如上面举的例子,如果是天单位的话应该是1.xxx天.但是你用Days属性就会得到1天,得不到后面的小数部分.要想得到小数部分就得用TotalDays这个属性

你可以试一下,
实例化一个TimeSpan,就拿上面举的例吧,TimeSpan ts=new TimeSpan(1,2,3,4,5);
然后输出一下对应时间的值,ts.Milliseconds当前毫秒,ts.TotalMilliseconds总计毫秒

希望对你有帮助
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式