【问题标题】:What is wrong with this msgbox code? (VB)这个 msgbox 代码有什么问题? (五)
【发布时间】:2011-12-25 10:37:04
【问题描述】:

编辑:别担心,我犯了一个愚蠢的错误,我有 3 个字符而不是 4 个

   MessageBox.Show("Well done you completed the game in " & (Label4.Text.Substring(0, 2)) & ":" & (Label4.Text.Substring(2, 2)) & " milliseconds. Well Done!")

那么为什么它不起作用呢?如果有帮助,这里是错误代码:

“在 mscorlib.dll 中发生了“System.ArgumentOutOfRangeException”类型的未处理异常

附加信息:索引和长度必须引用字符串中的位置。"

【问题讨论】:

  • 大写单词/句子传达的意思是喊叫。如果您想编辑说明,只需在说明末尾添加“编辑:”一词以及您的新详细信息。它现在完成的方式。

标签: vb.net messagebox


【解决方案1】:

我怀疑您的 Label4.Text 属性比您要求的要短。

【讨论】:

  • label4.text 长度为 4 个字母
【解决方案2】:

你能告诉我“Label4”到底包含什么吗?我知道它有数字,但还有什么其他文字。很抱歉这样做作为答案,但页面上的任何地方都没有“评论”按钮。

【讨论】:

  • 标签 4 包含 4 个数字(例如 3428)
  • 你想实现这样的目标吗?:提示说:“干得好,你在 3428 毫秒内完成了游戏。干得好!” ?
  • 它已修复,我有 3 个数字,只需要一个代码来搜索是否有 3 个或 4 个数字,因为它会改变
  • 你为什么不这样做而不是子字符串?:MessageBox.Show("干得好,你在 " & Label4.Text & ": 毫秒内完成了游戏。干得好!")
【解决方案3】:

我知道您已经接受了一个答案,但我正在回复您希望它在几秒钟内显示的评论。试试这样的:

Dim result As Integer

If Integer.TryParse(Label4.text, result) Then
    MessageBox.Show("Well done you completed the game in " & (result / 1000).ToString & " seconds. Well Done!")
Else
    MessageBox.Show("Well done you completed the game in null seconds. Well Done!")
End If

【讨论】:

    猜你喜欢
    • 2012-01-27
    • 2012-08-07
    • 2014-08-29
    • 2013-06-05
    • 2014-06-04
    • 2011-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多