【发布时间】:2015-07-01 07:38:37
【问题描述】:
在 Visual Basic .net 中是否可以使用 label1.text 作为 timer1.interval 的值?
我尝试了以下方法,不幸的是它不起作用。
Dim Try_Interval As Integer = My.Settings.Error_Millisec
Int32.TryParse(frmSettings.Lbl_Error_Millisec_Fin.Text, Try_Interval)
它说
System.Windows.Forms.dll 中出现“System.ArgumentOutOfRangeException”类型的未处理异常
附加信息:值“0”不是间隔的有效值。 间隔必须大于 0。
我也尝试将其存储在 my.settings 中,如下面的代码所示
Dim Try_Max As Integer = Convert.ToDouble(My.Settings.Error_Try)
Dim Try_Interval As Integer = My.Settings.Error_Millisec
有什么建议吗?
【问题讨论】:
-
Int32.TryParse在可以解析字符串为Int32成功时初始化int参数,否则为0。所以根本问题是无法解析字符串。它的价值是什么? -
frmSettings.Lbl_Error_Millisec_Fin.Text 的值是 100,请注意我是从另一个表单中获取的。
-
所以首先你评论它是 0,然后 - 在我发布答案之后 - 你删除那个评论并说它是 100?现在是什么情况?问题解决了吗?
-
对不起,我把 100 打错为 0,我不是故意的。是的,它仍然无法正常工作,先生。
-
奇怪,因为错误消息确实表明它是 0,当值是 " 100"(尾随空格)导致
Int.TryParse返回0。然后使用frmSettings.Lbl_Error_Millisec_Fin.Text.Trim()
标签: vb.net timer label intervals