如何从C#中的Clipboard.gettext定义计时器间隔

时间:2019-10-03 08:31:22

标签: c# timer clipboard

我希望以秒为单位复制的数字成为我的定时器间隔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;
                }
            }

1 个答案:

答案 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