vb.net返回字符串作为对话框结果

时间:2016-04-20 20:32:29

标签: vb.net winforms dialog

我正在为Autodesk Inventor创建一个AddIn,AddIn是功能区中的一个简单按钮。

当用户按下按钮时,new form被创建为对话框。

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

然后,用户将执行一些操作,文件路径as string是他的操作的结果。我现在想return这个值,所以我的AddIn可以处理文件。

但我似乎无法找到一个很好的例子。我只能找到一个如何传递ok或取消结果的优秀样本。但不是如何获得对话框的变量。

Link to ok and cancel result sample

1 个答案:

答案 0 :(得分:1)

您可以在对话框中添加字符串属性并在对话框中设置属性的值。然后在显示对话框后,检查对话框结果是否正常,然后阅读属性。

自定义对话框的代码:

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

您使用自定义对话框的代码:

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