2013-04-06 3 views
-2

У меня возникли некоторые проблемы с отображением цены доставки к lblshipping.textиндекс вне границ в обработчике события

Option Explicit On 
Option Strict On 
Option Infer Off 

Public Class frmMain 
    Private intMin() As Integer = {1, 11, 51, 101} 
    Private intMax() As Integer = {10, 50, 100} 
    Private dblShip() As Double = {15, 10, 5, 0} 

    Private Sub btnExit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnExit.Click 
     Me.Close() 
    End Sub 

    Private Sub txtordered_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtOrdered.KeyPress 
     ' allows the text box to accept numbers and the Backspace key 

     If (e.KeyChar < "0" OrElse e.KeyChar > "9") AndAlso e.KeyChar <> ControlChars.Back Then 
      e.Handled = True 
     End If 
    End Sub 

    Private Sub txtordered_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtOrdered.TextChanged 
     lblShipping.Text = String.Empty 
    End Sub 

    Private Sub btnDisplay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisplay.Click 

     Dim intOrdered As Integer 
     Integer.TryParse(txtOrdered.Text, intOrdered) 

     For intIndex As Integer = 0 To 3 
      If intOrdered <= 2 Then 
       If intOrdered >= intMin(intIndex) And intOrdered <= intMax(intIndex) Then 
        lblShipping.Text = dblShip(intIndex).ToString("C2") 
       End If 
      End If 
      If intIndex = 3 Then 
       If intOrdered >= intMin(intIndex) Then 
        lblShipping.Text = dblShip(intIndex).ToString("C2") 
       End If 
      End If 
     Next intIndex 
    End Sub 
End Class 
+0

Сделайте свой код ** минимальным ** и удалите ненужный рывок. Поместите ** настоящий ** код (ваш использует «Option Strict On», который хорош, но он не компилируется!) И будет ** конкретным ** об ошибке - где это происходит? Ваш код очень сложно сказать. –

ответ

0

Try удалить эти заявления

Private Sub txtordered_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtOrdered.TextChanged 
    lblShipping.Text = String.Empty 
End Sub 

и попытаться изменить ваше для следующих утверждений

For intIndex As Integer = 0 To 3 
     If intOrdered <= 2 Then 
      If intOrdered >= intMin(intIndex) And intOrdered <= intMax(intIndex) Then 
       lblShipping.Text = dblShip(intIndex).ToString("C2") 
      End If 
     elseIf intIndex = 3 Then 
      If intOrdered >= intMin(intIndex) Then 
       lblShipping.Text = dblShip(intIndex).ToString("C2") 
      End If 
     End If 
    Next intIndex 
+0

Почему эти изменения? Это, похоже, не имеет ничего общего с проблемой OP. –

+0

Удалить утверждения> причина, я думаю, что lbl отправка не будет иметь значение, если получил эти утверждения .. О для цикла, только для минимального кода – Kasnady

Смежные вопросы