Gewusst wie: übergeben von Daten von einer form zur anderen mit einer Klasse (VB.Net)

In meinem main-Programm (Formular) ich habe zwei Listenfelder, ein Textfeld und ein button.
Wenn ich wählen Sie zwei Elemente in jeder Liste-Boxen, und geben Sie eine Zahl in das Textfeld, es ist suppsoed gelagert werden in einem array. Ich wollte dies mit einer Klasse. (Ich fragte eine Frage zu diesem, es funktioniert auch jetzt). Das problem ist, ich will, um zu zeigen, die Ergebnisse in einer anderen form.
Den code in meine Klasse sieht wie folgt aus:

Public Class Stocking


Public sale(3, 4) As Integer
Public numberSellers(3) As Integer
Public numberProducts(4) As Integer


Public Sub addItem(ByRef my_sellerListBox As ListBox, ByRef my_productListBox As ListBox, ByRef my_saleTextBox As TextBox)
    Dim sellerLineInteger As Integer
    Dim productColumnInteger As Integer

    sellerLineInteger = my_sellerListBox.SelectedIndex
    productColumnInteger = my_productListBox.SelectedIndex

    ' add in two dimensional array 
    If sellerLineInteger >= 0 And productColumnInteger >= 0 Then
        sale(sellerLineInteger, productColumnInteger) = Decimal.Parse(my_saleTextBox.Text)
    End If

    my_saleTextBox.Clear()
    my_saleTextBox.Focus()

    For sellerLineInteger = 0 To 3
        For productColumnInteger = 0 To 4
            numberSellers(sellerLineInteger) += sale(sellerLineInteger, productColumnInteger)
        Next productColumnInteger
    Next sellerLineInteger

End Sub
Public Sub showItems(ByRef my_label)

    my_label.Text = numberSellers(0).ToString 'using this as a test to see if it works for now


End Sub
End Class

Meinem main-form sieht wie folgt aus:

Public Class showForm

Public sale(3, 4) As Integer
Public numberSellers(3) As Integer
Public numberProducts(4) As Integer

Dim StockClass As New Stocking

    Public Sub addButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles addButton.Click

    StockClass.addItem(sellerListBox, producttListBox, saleTextBox)

End Sub

Public Sub SalesByMonthToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SalesByMonthToolStripMenuItem.Click

    saleForm.Show()

Und in meiner zweiten form, zeigen die Ergebnisse sortierten array ist:

Public Class saleForm

Dim StockClass As New Stocking

Public Sub saleForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    StockClass.showItems(Label00)
    'Only using one label as a test for now.

End Sub

End Class

End Sub

Habe es getestet und versucht, um zu sehen, wenn die Ergebnisse zeigt, die auf dem Hauptformular, das tut es. Also ich vermute, das problem ist, da ich eine andere form. Ich denke auch, es könnte sein, weil ich nenne die Klasse mal wieder in meiner anderen form und nicht die Daten zu halten.

InformationsquelleAutor Exn | 2013-02-22

Schreibe einen Kommentar