我已经创建了下面的延迟功能,目的是在我的" min"的某些范围内创建延迟。和" max"输入。
private void delay(int min, int max)
{
Random rnd = new Random();
int timerLength = rnd.Next(min, max);
Timer timer = new Timer(timerLength);
timer.Start();
}
我在第
行收到错误Timer timer = new Timer(timerLength);
由于编译器无法将计时器长度从int转换为" System.ComponentModel.IContainer"。我试图将输入值转换为IContainers但没有成功,因为随机函数只允许int值。
是否有解决方法,以便定时器函数可以采用int?感谢。
答案 0 :(得分:3)
来自msdn:
使用
Timer
构造函数可以将Timer
与任意内容相关联Container
对象。通过将Timer
这样关联起来,你可以移交 控制Timer
到Container
的生命周期。这可以 如果您在应用程序中使用许多组件并且需要,则非常有用 同时处理所有这些。例如,如果你 将ToolTip
,ImageList
和Timer
与Container
相关联, 调用Container上的Dispose将强制处理所有这些 组件也是如此。
所以,如果我理解你,你正试图设置Timer
的间隔。在这种情况下,您需要使用' Interval`属性:
private void delay(int min, int max)
{
Random rnd = new Random();
int timerLength = rnd.Next(min, max);
Timer timer = new Timer();
timer.Interval = timerLength; // the value in milliseconds.
timer.Start();
}
答案 1 :(得分:0)
以下内容应该有效:
$max = (count($images) < 5) ? count($images) : 5;
$randomImageKeys = array_rand($images, $max);
for ($randomImageKeys as $key) {
echo '<img src="'.$images[$key].' class="image">';
}
编辑:修复格式