2017-01-31 1 views
0

Ich öffne einen Dialog mit 2 Tasten. Diese Schaltflächen sollten eine Eigenschaft auf einen Wert festlegen und dann das Formular schließen. Meine Hauptform sollte dann diese Eigenschaft ergreifen. Immer wenn ich versuche, den Wert zu erfassen, ist er immer leer.Eigenschaft in Dialog wird niemals festgelegt, bevor der Dialog geschlossen wird?

Mein Hauptformular

Using SelectNextForm As New TubeSelectTo() 
    SelectNextForm.Focus() 
     If TubeSelectTo.ShowDialog(currentWO, status) = Windows.Forms.DialogResult.OK Then 
      MessageBox.Show(SelectNextForm.numberOfBins) 
     End If 

Der Dialog

Private numberBins As String 

Public Overloads Function ShowDialog(ByVal woID As String, ByVal currStatus As ResourceStatus) As DialogResult 

    Return Me.ShowDialog() 

End Function 

Public ReadOnly Property numberOfBins() As String 
    Get 
     Return numberBins 
    End Get 
End Property 

Private Sub btn1_Click(sender As System.Object, e As System.EventArgs) Handles btn1.Click 
    numberBins = "1" 
    DialogResult = Windows.Forms.DialogResult.OK 
End Sub 

Private Sub btn2_Click(sender As System.Object, e As System.EventArgs) Handles btn2.Click 
    numberBins = "2" 
    DialogResult = Windows.Forms.DialogResult.OK 
End Sub 

Warum meine Eigenschaft nicht festgelegt zu werden?

+0

Sie müssen uns die 'aswell numberBins' Erklärung zeigen. Hast du das in einem komplett neuen Projekt getestet? –

+0

Wenn "der Dialog" Code für "TubeSelectTo" ist, fragen Sie eine andere Form ('SelectNextForm') für die Bins als was sie festgelegt. In diesem Code erscheint 'numberBins' aus dem Nirgendwo – Plutonix

+0

@Plutonix du hast es. Post es als Antwort und ich werde es akzeptieren – AlexF11

Antwort

1

Ihre Frage ist hier:

If TubeSelectTo.ShowDialog(currentWO, status) = Windows.Forms.DialogResult.OK Then 

Sie sind die default instance der TubeSelectTo Form, anstatt die SelectNextForm-Instanz, die Sie erstellt haben.

Ändern Sie es an:

If SelectNextForm.ShowDialog(currentWO, status) = Windows.Forms.DialogResult.OK Then 
Verwandte Themen