我希望以秒为单位复制的数字成为我的定时器间隔timer1。我该怎么办?
用户必须首先复制自动点击器才能进入模式,然后用户必须将间隔(以秒为单位)复制为数字。但是当我现在复制自动答题器时,他说复制的不是数字
这是我的代码
if (clipboardText == "auto clicker")
{
if (int.TryParse(Clipboard.GetText(), out int x))
{
timer1.Interval = x * 1000;
}
//when clipboard isnt a number
else
{
notifyIcon1.Icon = SystemIcons.Exclamation;
notifyIcon1.BalloonTipTitle = "";
notifyIcon1.BalloonTipText = "No number in clipboard";
notifyIcon1.BalloonTipIcon = ToolTipIcon.Error;
notifyIcon1.ShowBalloonTip(1000);
return;
}
}
答案 0 :(得分:1)
计时器间隔以毫秒为单位,并且是整数。 Clipboard.GetText返回一个字符串,您说将是秒,因此您要先将字符串转换为int,然后将其乘以1000,以使秒数变为毫秒。
类似:
if(int.TryParse(Clipboard.GetText(), out int x))
timer1.Interval = x * 1000;
else
//whatever you want to do if the clipboard is not a number
如果需要,别忘了启动计时器。
此表示法是最近的C#。如果由于使用的是较旧版本的C#(我认为是VS2015或更早版本)而出现语法错误,则必须使用较旧的形式,在TryParse之外声明输出变量x:
int x;
if(int.TryParse(Clipboard.GetText(), out x))
timer1.Interval = x * 1000;
else
//whatever you want to do if the clipboard is not a number