我无法修复“argumentoutofrangeexception未处理”

时间:2015-05-18 10:58:39

标签: vba

我正在尝试在visual Basic上开发一个应用程序。通过将一个文本中的价格和另一个教科书中的数量进行计算来计算餐馆账单。然后将值添加到两个单独的listboxes。然后它将两个listboxes中的值相乘并添加它们。

我设法让代码正确并尝试了几次,但后来它给了我

  

ArgumentOutOfRangeException未处理

PS:这是一个介绍课程,所以我对整个事情非常密切

这是我使用的编码

Public Class Form1
    Dim q As Integer
    Dim p As Double
    Dim sum As Double = 0
    Dim n As Integer
    Dim result As Double


    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

        p = Val(TextBox3.Text)
        q = Val(TextBox1.Text)
        ListBox1.Items.Add(q)
        ListBox2.Items.Add(TextBox2.Text)
        ListBox3.Items.Add(p)

    End Sub

    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click   

        Do
            result = ListBox1.Items.Item(q) * ListBox3.Items.Item(p) 'this is where the error occurs
            n += 1
            sum += result
        Loop Until n = ListBox1.Items.Count - 1
        Label8.Text = String.Format("{0:c}", sum)

    End Sub
End Class

1 个答案:

答案 0 :(得分:0)

如果您在文本框中输入任何新内容,然后在#!/usr/bin/perl $txt = "1,2,3,{4,5,6,7,8},9,10,100"; $txt =~ s/(\{\s*|(?<!^)\G)(\d+),(?=[,0-9]*\})/$1$2|/g; print $txt; 之前按Button2,您尝试访问尚未添加到列表中的值。所以你得到了超出范围的例外。