Tag: 间隔

如何在C#中使用以特定间隔分隔的数字初始化数组

我想创建一个包含从0到1的值的数组,间隔为0.1。 我可以用: float[] myArray = new float[10]; float increment = 0.1; for(i = 0; i < 10; i++) { myArray[i] = increment; increment += 0.1; } 我想知道是否有像Enumerable.Range这样的函数允许指定增量间隔。

两个不同间隔的定时器C#Form

我正在尝试用c#forms创建一个聊天,我创建了两个定时器; 其中一个是每1秒检查一次,如果有人写了什么,另一个是每1秒发送一条消息“我在线”或“我离线”取决于我设置的内容; 问题是,即使我做了一个不再显示垃圾邮件的if,我也发送了太多垃圾邮件; 但问题是,即使我没有看到消息,聊天也是滞后的,我的意思是更多的时间我让它打开更多滞后它…例如,如果我从另一个控制台写一条消息,我会在30秒后看到它如果让它打开,时间会增加。 所以我试着改变发送“ON”或“OFF”的定时器的间隔为1分钟,但是当我尝试启动程序它崩溃时,它只有在定时器具有相同的间隔并且我不明白时才有效为什么,我正在寻找解决方案…… 我的问题是我想要不同的时间间隔,当我做程序崩溃时,它会冻结……它不会在任何时候工作。 – >我想让检查计时器默认为100毫秒,并将状态发送器计时器设置为60000(1分钟); 但如果我这样做,程序会冻结; 它不会给我一个错误,但我不能再做任何事了。 计时器初始化: private void Form1_Load(object sender, EventArgs e) { ControlTimerInbox.Enabled = true; ControlTimerInbox.Start(); StatusTimer.Enabled = true; StatusTimer.Start(); } 这个用于控制定时器: private void ControlTimerInbox_Tick(object sender, EventArgs e) { mesric = Encoding.ASCII.GetString(receive.Receive(ref ipremoto)); if (mesric.Contains(“OFF!”)==true) { if (mesric.Contains(“GruppoUno”) == true) { GruppoUnoStatusPicture.BackgroundImage = Image.FromFile(@”.\tvchat\statusoff.jpg”); GruppoUnoLblStatus.ForeColor = Color.Red; } else […]

StopWatch与计时器 – 何时使用

原谅我这个问题,但我似乎无法找到何时使用哪个的好来源。 如果你能用简单的术语解释它会很高兴。 而且,我正面临着这样的困境: 看,我正在编写一个简单的应用程序。 我希望它显示经过的时间(hh:mm:ss格式或其他)。 而且,能够“加速”或“减慢”其时间间隔(即加速以使实时的一分钟等于应用程序中的一小时)。 例如,在Youtubevideo中( *我们不考虑我们可以跳转到vid的特定部分* ),我们会看到在屏幕左下角观看该video所花费的实际时间,但是通过导航选项菜单,我们可以加速或缩小video。 我们实际上可以看到时间以与速度因子一致的方式更新(例如,如果您选择速度的两倍,下面的计时器比正常速度快两倍更新),您可以随时更改此速度速率。 这就是我所追求的。 Youtubevideo如何衡量经过的时间以及它们可以改变时间间隔的事实。 那么,你认为我应该选择哪两个? 定时器还是秒表? 顺便说一下,我只是在编写一个Windows窗体应用程序。 我正在模拟某些东西,我希望用户能够在他或她希望的时候加速。 虽然这很简单,但我希望采用适当的方法。

如何以不同的速度平滑地动画Windows窗体位置?

我一直试图平滑地动画一些Windows窗体位置,但如果我希望速度可变,我会遇到一些问题。 换句话说,如果我想让用户选择动画的首选速度。 我发现以下文章帮助我执行了我正在寻找的动画,对于我的表单。 在各方面看起来比我过去尝试过的BackgroundWorker或Threads方法更好: http : //www.vcskicks.com/animated-windows-form.html 我现在唯一的问题是,如果我想要动画的速度不同,可以保持平滑的动画效果。 在我的代码FPS和PX中有两个重要的值。 FPS表示每秒帧数(除此之外),PX表示移动表单的像素数。 问题1)为了获得最流畅的动画,我希望一次只能移动1px,但我认为我不能像我想的那样快速移动表单。 将FPS值增加到非常高的值似乎没有任何影响,就像有限制并且超过该限制,将没有明显的差异。 我确信这有一个很好的解释。 我的问题是:你对这个问题有什么好的解决方案,或者唯一的解决办法就是改变PX值并将表格移动1px以上,如果我想要更快的移动? 问题2)如果上述问题的解决方案是相应地更改PX值,我发现(通过测试不同的值)FPS值等于300就足以满足我的需要,我可以根据需要快速移动表单它来。 然后,如果我想要10个速度,将表格移动1,2,3,4,5,6,7,8,9和10个像素可以提供缓慢而快速的平滑动画,就像我想要的那样。 如果我想要5种速度,我可以使用2,4,6,8,10等。 我的问题是:对于FPS使用300这样的值有什么问题吗? 对这样的价值有不良后果吗? 这是我目前的代码: public partial class Form1 : Form { bool dir = true; public Form1() { InitializeComponent(); Location = new Point(1280/2 – Width, 800/2 – Height/2); } private void button1_Click(object sender, EventArgs e) { double FPS = […]

如何计算时间间隔?

我有一个问题,我解决了,但我写了一个很长的程序,我不能确定它涵盖了所有可能的情况。 问题: 如果我有一个主间隔时间 ( From A to B )和次要间隔时间 (很多或没有) (`From X to Y AND From X` to Y` AND X“ to Y“ AND ….`) 我希望在有效和最少数量的条件(SQL服务器过程和C#方法)中以几分钟的时间间隔将我的主间隔时间(AB)的所有部分从辅助时间间隔中除去 ? 例如:如果我的主要间隔从02:00 to 10:30并且说一个次要间隔从04:00 to 08:00 现在我想要这个结果: ((04:00 – 02:00) + (10:30 -08:00))* 60 图表示例: 在第一种情况下,结果将是: ((XA) + (BY)) * 60 当我有许多次要时期时会更复杂。 注意: 可能是仅当我必须将主周期[A,B]与至多两个并行的次要间隔集合的UNION进行比较时发生的次要间隔之间的重叠。第一组必须仅包含一个次要间隔而第二组必须包含set包含(很多或没有)次要区间。例如,在比较[A,B]和( 2,5 )的图中,第一组(2)由一个次级区间组成,第二组(5)由三个次要间隔。 这是最糟糕的情况,我需要处理。 例如 : […]

MS图表中的自动间隔精度

我目前正在使用System.Windows.Forms.DataVisualization.Charting.Chart在.NET中使用图表。 到目前为止,它似乎非常强大,而且效果很好。 然而,就如何自动计算间隔而言存在巨大的问题。 我使用了很多double值,在像ZedGraph这样的库中,它完美地处理了这个问题。 它选择最小/最大/间隔就好了。 但是,在MS Chart中,它可以选择206.3334539832作为最小值,并选择相似小数精度的间隔。 显然这看起来很难看。 因此,我尝试简单地制作轴格式{0.00}并且在加载图表时效果很好。 除非你放大,你需要更高的精度,可能是4位小数而不是2位。看起来我要么一直处于9个小数位,要么是一个固定的常数,当有人需要更高的精度时它可能会破坏。 我宁愿根据当前应用的缩放级别来获取精度。 像ZedGraph和Dundas这样的图书馆(我相信MS甚至正在使用!)倾向于选择在放大和缩小时改变的好值。 当缩放框架改变时,有没有办法让间隔改变精度? 这可能是我设置错误的一些简单属性,但很难说这个东西有数百万个属性(特别是当大约有14个地方代表Interval的概念时)。