鞍山网站设计制作,Discuz网站制作教程,山东营销型网站,网站建设360需求描述#xff1a;
播放IPC摄像头#xff08;海康、大华#xff09;的录像回放#xff0c;视频窗口下方有个进度条#xff0c;能显示当前录像播放的进度#xff0c;点击进度条能将视频跳转到指定的时间点继续播放... 现在需要再进度条上显示视频的时间#xff0c;用来…需求描述
播放IPC摄像头海康、大华的录像回放视频窗口下方有个进度条能显示当前录像播放的进度点击进度条能将视频跳转到指定的时间点继续播放... 现在需要再进度条上显示视频的时间用来提示在哪个进度点去点击鼠标将视频跳转到指定的时间点继续播放 给进度条控件progressBar添加MouseMove事件事件内代码如下
//鼠标在进度条上移动
private void PlaybackprogressBar_MouseMove(object sender, MouseEventArgs e)
{var progressBar this.PlaybackprogressBar;//滑块控件// 计算鼠标位置对应的进度值int s CalculateMouseValue(progressBar, e.X);int h s / (60 * 60);//获得小时部分int y s % (60 * 60);//取出余数int m y / 60;//获得分钟部分string hh h.ToString().PadLeft(2, 0);string mm m.ToString().PadLeft(2, 0);string time hh : mm;//hh:mm// 显示鼠标所在位置的进度值this.toolTip1.SetToolTip(progressBar, ${this.dateTimeStart.Value.ToString(yyyy-MM-dd)} {time});
}//计算进度条的值
private int CalculateMouseValue(MaterialSlider progressBar, int mouseX)
{int minValue 0;//最小值0秒int maxValue 86400;//最大值一天有60秒*60分钟*24小时86400秒 // 获取 ProgressBar 的宽度int barWidth progressBar.Width;// 计算鼠标位置对应的进度值double ratio (double)mouseX / barWidth;int value (int)(minValue ratio * (maxValue - minValue));// 确保计算的值在 ProgressBar 的有效范围内value Math.Max(minValue, Math.Min(maxValue, value));return value;
} 效果如图