vb.net returnarea unui șir de caractere ca rezultat al dialogului (Programare, Vb.Net, Winforms, Dialog)

Mech_Enginer a intrebat.

Creez un AddIn pentru Autodesk Inventor, AddIn-ul este un simplu buton în panglică.

Atunci când utilizatorul apasă pe buton se afișează un new form este creat ca dialog.

Private Sub ButtonClick()
        Dim oWindow As New CopyDesignForm(string1, string2)
        oWindow.ShowDialog()
End Sub

Utilizatorul va face apoi câteva operații și o cale de fișier as string este rezultatul acțiunilor sale. Aș dori acum să return această valoare pentru ca AddIn-ul meu să poată procesa fișierul.

Dar nu reușesc să găsesc un exemplu bun în acest sens. Pot găsi doar un exemplu excelent de transmitere a rezultatului ok sau cancel. Dar nu și cum să ajung la o variabilă a dialogului.

Legătură către exemplul de rezultat ok și anulare

Comentarii

  • Puteți adăuga o proprietate de tip șir de caractere la dialog și să setați valoarea proprietății în dialogul dvs.,Apoi, după afișarea dialogului, verificați dacă rezultatul dialogului a fost OK, apoi citiți proprietatea. –  > Por Reza Aghaei.
  • DialogResult este un tip și sunteți limitat la aceste valori definite. Acesta este destinat să semnaleze în principal dacă utilizatorul a anulat sesiunea sau a luat o decizie. Pentru alte date cum ar fi o cale sau orice altceva, expuneți-le ca proprietate și extrageți-le dacă nu anulează/nu anulează sesiunea.  > Por Ňɏssa Pøngjǣrdenlarp.
1 răspunsuri
Reza Aghaei

Puteți adăuga o proprietate string la dialog și setați valoarea proprietății în dialogul dvs.,Apoi, după afișarea dialogului, verificați dacă rezultatul dialogului a fost OK, apoi citiți proprietatea.

Codul pentru dialogul dvs. personalizatm:

Public Class MyCustomDialog

    Public Property SomeProperty As String

    Private Sub OKCommandButton_Click(sender As Object, e As EventArgs) _
    Handles OKCommandButton.Click

        Me.SomeProperty = "Some Value"
        Me.DialogResult = Windows.Forms.DialogResult.OK
    End Sub

    Private Sub CancelCommandButton_Click(sender As Object, e As EventArgs) _
    Handles CancelCommandButton.Click

        Me.SomeProperty = Nothing
        Me.DialogResult = Windows.Forms.DialogResult.Cancel
    End Sub
End Class

Cod pentru utilizarea dialogului dvs. personalizat:

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim f As New MyCustomDialog
        If (f.ShowDialog() = DialogResult.OK) Then
            MessageBox.Show(f.SomeProperty)
        End If
    End Sub
End Class