VB.Net Tutorial/GUI/OpenFileDialog
Содержание
File Open/Save dialog
<source lang="vbnet">Imports System.Drawing.Drawing2D Imports System.Windows.Forms public class FileSaveOpenDialog
public Shared Sub Main Application.Run(New Form1) End Sub
End class Public Class Form1
Inherits System.Windows.Forms.Form Public Sub New() MyBase.New() InitializeComponent() End Sub Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub Private components As System.ruponentModel.IContainer Friend WithEvents Button1 As System.Windows.Forms.Button Friend WithEvents Button2 As System.Windows.Forms.Button Friend WithEvents OpenFileDialog1 As System.Windows.Forms.OpenFileDialog Friend WithEvents SaveFileDialog1 As System.Windows.Forms.SaveFileDialog <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.Button1 = New System.Windows.Forms.Button Me.Button2 = New System.Windows.Forms.Button Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog Me.SuspendLayout() " "Button1 " Me.Button1.Location = New System.Drawing.Point(32, 32) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(88, 32) Me.Button1.TabIndex = 0 Me.Button1.Text = "Open" " "Button2 " Me.Button2.Location = New System.Drawing.Point(160, 32) Me.Button2.Name = "Button2" Me.Button2.Size = New System.Drawing.Size(88, 32) Me.Button2.TabIndex = 1 Me.Button2.Text = "Save" " "Form1 " Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(292, 110) Me.Controls.Add(Me.Button2) Me.Controls.Add(Me.Button1) Me.ResumeLayout(False) End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click OpenFileDialog1.ShowDialog() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click SaveFileDialog1.ShowDialog() End Sub
End Class</source>
Get selected file name in a OpenFileDialog
<source lang="vbnet">Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Windows.Forms public class OpenFileDialogSelectedFileName
public Shared Sub Main Dim FileDB As New OpenFileDialog() If (FileDB.ShowDialog() = DialogResult.OK) Then Console.WriteLine("File: " & FileDB.FileName) Else Console.WriteLine("User selected Cancel") End If End Sub
End class</source>
Open File Dialog Filter
<source lang="vbnet">Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Windows.Forms public class PictureBoxImageFromOpenFileDialog
public Shared Sub Main Application.Run(New Form1) End Sub
End class Public Class Form1
Inherits System.Windows.Forms.Form Public Sub New() MyBase.New() InitializeComponent() End Sub Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub Private components As System.ruponentModel.IContainer Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox Friend WithEvents Button1 As System.Windows.Forms.Button Friend WithEvents OpenFileDialog1 As System.Windows.Forms.OpenFileDialog <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.PictureBox1 = New System.Windows.Forms.PictureBox Me.Button1 = New System.Windows.Forms.Button Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog Me.SuspendLayout() " "PictureBox1 " Me.PictureBox1.Location = New System.Drawing.Point(16, 16) Me.PictureBox1.Name = "PictureBox1" Me.PictureBox1.Size = New System.Drawing.Size(248, 176) Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize Me.PictureBox1.TabIndex = 0 Me.PictureBox1.TabStop = False " "Button1 " Me.Button1.Location = New System.Drawing.Point(96, 208) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(88, 24) Me.Button1.TabIndex = 1 Me.Button1.Text = "Open" " "OpenFileDialog1 " Me.OpenFileDialog1.Filter = "bmp(*.bmp)|*.bmp" " "Form1 " Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(292, 266) Me.Controls.Add(Me.Button1) Me.Controls.Add(Me.PictureBox1) Me.ResumeLayout(False) End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim pic As Image OpenFileDialog1.ShowDialog() pic = New Bitmap(OpenFileDialog1.FileName) PictureBox1.Image = pic End Sub
End Class</source>
Prevent dialog box from validating file
<source lang="vbnet">Imports System.IO Imports System.Windows.Forms Module Module1
Sub Main() Dim FileDB As New OpenFileDialog() FileDB.Filter = "All files | *.* | Text files | *.txt" FileDB.FilterIndex = 2 FileDB.InitialDirectory = "C:\Temp" FileDB.AddExtension = True FileDB.DefaultExt = "txt" " Prevent dialog box from validating file FileDB.CheckFileExists = False FileDB.CheckPathExists = False If (FileDB.ShowDialog() = DialogResult.OK) Then Dim SourceFile As StreamReader Try SourceFile = New StreamReader(FileDB.FileName) Console.WriteLine(SourceFile.ReadToEnd()) SourceFile.Close() Catch Except As Exception Console.WriteLine("Error: " & Except.Message) End Try Else Console.WriteLine("User selected Cancel") End If End Sub
End Module</source>
Set InitialDirectory and FilterIndex for OpenFileDialog
<source lang="vbnet">Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Windows.Forms public class OpenFileDialogInitDirectory
public Shared Sub Main Dim FileDB As New OpenFileDialog() FileDB.Filter = "All files | *.* | Word files | *.doc | Text files | *.txt" FileDB.FilterIndex = 3 FileDB.InitialDirectory = "C:\Temp" If (FileDB.ShowDialog() = DialogResult.OK) Then Console.WriteLine("File: " & FileDB.FileName) Else Console.WriteLine("User selected Cancel") End If End Sub
End class</source>
Set OpenFileDialog Filter and get selected file name
<source lang="vbnet">Imports System.Windows.Forms public class FileOpenDialogFilter
public Shared Sub Main Dim openFileDialog1 As System.Windows.Forms.OpenFileDialog openFileDialog1 = New System.Windows.Forms.OpenFileDialog() openFileDialog1.Filter = "Word (*.doc) |*.doc;*.rtf|(*.txt) |*.txt|(*.*) |*.*" If openFileDialog1.ShowDialog() = DialogResult.OK Then Console.WriteLine(openFileDialog1.FileName) End If End Sub
End class</source>
Use OpenFileDialog to load image to PictureBox
<source lang="vbnet">Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Windows.Forms public class OpenFileDialogPicture
public Shared Sub Main Application.Run(New Form1) End Sub
End class Public Class Form1
Inherits System.Windows.Forms.Form
- Region " Windows Form Designer generated code "
Public Sub New() MyBase.New() "This call is required by the Windows Form Designer. InitializeComponent() "Add any initialization after the InitializeComponent() call End Sub "Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub "Required by the Windows Form Designer Private components As System.ruponentModel.IContainer "NOTE: The following procedure is required by the Windows Form Designer "It can be modified using the Windows Form Designer. "Do not modify it using the code editor. Friend WithEvents OpenFileDialog1 As System.Windows.Forms.OpenFileDialog Friend WithEvents Button1 As System.Windows.Forms.Button Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog Me.Button1 = New System.Windows.Forms.Button Me.PictureBox1 = New System.Windows.Forms.PictureBox Me.SuspendLayout() " "OpenFileDialog1 " Me.OpenFileDialog1.Filter = "JPEG files (*.jpg)|*.jpg|GIF files (*.gif)|*.gif|All files (*.*)|*.*" " "Button1 " Me.Button1.Location = New System.Drawing.Point(96, 88) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(88, 23) Me.Button1.TabIndex = 0 Me.Button1.Text = "Show Dialog" " "PictureBox1 " Me.PictureBox1.Location = New System.Drawing.Point(88, 144) Me.PictureBox1.Name = "PictureBox1" Me.PictureBox1.Size = New System.Drawing.Size(104, 88) Me.PictureBox1.TabIndex = 1 Me.PictureBox1.TabStop = False " "Form1 " Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(292, 273) Me.Controls.Add(Me.PictureBox1) Me.Controls.Add(Me.Button1) Me.Name = "Form1" Me.Text = "Form1" Me.ResumeLayout(False) End Sub
- End Region
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If OpenFileDialog1.ShowDialog() = DialogResult.OK Then PictureBox1.Image = Image.FromFile(OpenFileDialog1.FileName) End If End Sub Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ruponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk End Sub
End Class</source>