Используйте только один OpenFileDialog для нескольких и разных ситуаций

#vb.net #openfiledialog

#vb.net #openfiledialog

Вопрос:

У меня есть программа, которая использует несколько OpenFileDialog , но я хочу использовать один. Я написал код, который делает это, но есть ли более простой способ сделать это?

 Public Class Form1
    Private _intFlag As Integer = 0

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        _intFlag = 1
        OpenFileDialog1.ShowDialog()
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        _intFlag = 2
        OpenFileDialog1.ShowDialog()
    End Sub

    Private Sub OpenFileDialog1_FileOk(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
        If _intFlag = 1 Then
            TextBox1.Text = OpenFileDialog1.FileName
        ElseIf _intFlag = 2 Then
            TextBox2.Text = OpenFileDialog1.FileName
        End If
    End Sub
End Class
  

Ответ №1:

Я бы предложил не обрабатывать FileOk событие.

 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
        TextBox1.Text = OpenFileDialog1.FileName
    End If
End Sub
  

и аналогично для другого Button .