VB.Net Tutorial/GUI/OpenFileDialog

Материал из VB Эксперт
Версия от 15:57, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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
  1. 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
  1. 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>