VB.Net/GUI/Dialog Your Own

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

Form as Dialog example

<source lang="vbnet"> Imports System Imports System.Collections Imports System.Data Imports System.IO Imports System.Xml.Serialization Imports System.Windows.Forms Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Drawing.Text Imports System.Drawing.Printing

Public Class MainClass

   Shared Sub Main()
       Dim myForm As New Form1()
       If myForm.ShowDialog() = DialogResult.Cancel Then
           MessageBox.Show("You pressed the cancel button")
       Else
           MessageBox.Show("You pressed OK.")
       End If
   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
   Friend WithEvents btnOK As System.Windows.Forms.Button
   Friend WithEvents btnCancel As System.Windows.Forms.Button
   Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox
   "Required by the Windows Form Designer
   Private components As System.ruponentModel.Container
   "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.
   <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
       Me.PictureBox1 = New System.Windows.Forms.PictureBox()
       Me.btnCancel = New System.Windows.Forms.Button()
       Me.btnOK = New System.Windows.Forms.Button()
       Me.SuspendLayout()
       "
       "PictureBox1
       "
       Me.PictureBox1.Anchor = ((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
                   Or System.Windows.Forms.AnchorStyles.Right)
       Me.PictureBox1.Location = New System.Drawing.Point(0, 8)
       Me.PictureBox1.Name = "PictureBox1"
       Me.PictureBox1.Size = New System.Drawing.Size(288, 184)
       Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
       Me.PictureBox1.TabIndex = 2
       Me.PictureBox1.TabStop = False
       "
       "btnCancel
       "
       Me.btnCancel.Anchor = System.Windows.Forms.AnchorStyles.Bottom
       Me.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel
       Me.btnCancel.Location = New System.Drawing.Point(168, 240)
       Me.btnCancel.Name = "btnCancel"
       Me.btnCancel.Size = New System.Drawing.Size(88, 32)
       Me.btnCancel.TabIndex = 1
       Me.btnCancel.Text = "Cancel"
       "
       "btnOK
       "
       Me.btnOK.Anchor = System.Windows.Forms.AnchorStyles.Bottom
       Me.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK
       Me.btnOK.Location = New System.Drawing.Point(40, 240)
       Me.btnOK.Name = "btnOK"
       Me.btnOK.Size = New System.Drawing.Size(80, 32)
       Me.btnOK.TabIndex = 0
       Me.btnOK.Text = "OK"
       "
       "Form1
       "
       Me.AutoScaleBaseSize = New System.Drawing.Size(6, 15)
       Me.ClientSize = New System.Drawing.Size(292, 288)
       Me.ControlBox = False
       Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.PictureBox1, Me.btnCancel, Me.btnOK})
       Me.MaximizeBox = False
       Me.MinimizeBox = False
       Me.Name = "Form1"
       Me.Text = "Sample Custom dialog box"
       Me.ResumeLayout(False)
   End Sub
  1. End Region
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Me.Visible = False
       Me.AcceptButton = btnOK
       Me.CancelButton = btnCancel
   End Sub

End Class


      </source>


Modeless Dialog

<source lang="vbnet"> Imports System Imports System.Drawing Imports System.Reflection Imports System.Windows.Forms Imports System.IO

public class MainClass

  Shared Sub Main()
     Dim form1 As Form = New MainForm
     Application.Run(form1)
  End Sub

End Class

Public Class AuxForm

   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 Button1 As System.Windows.Forms.Button
   Friend WithEvents Label1 As System.Windows.Forms.Label
   Friend WithEvents Label2 As System.Windows.Forms.Label
   Friend WithEvents Button2 As System.Windows.Forms.Button
   Friend WithEvents FindBox As System.Windows.Forms.TextBox
   Friend WithEvents ReplaceBox As System.Windows.Forms.TextBox
   <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
       Me.FindBox = New System.Windows.Forms.TextBox()
       Me.Button1 = New System.Windows.Forms.Button()
       Me.ReplaceBox = New System.Windows.Forms.TextBox()
       Me.Label1 = New System.Windows.Forms.Label()
       Me.Label2 = New System.Windows.Forms.Label()
       Me.Button2 = New System.Windows.Forms.Button()
       Me.SuspendLayout()
       "
       "FindBox
       "
       Me.FindBox.Font = New System.Drawing.Font("Verdana", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
       Me.FindBox.Location = New System.Drawing.Point(4, 24)
       Me.FindBox.Name = "FindBox"
       Me.FindBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
       Me.FindBox.Size = New System.Drawing.Size(256, 22)
       Me.FindBox.TabIndex = 0
       Me.FindBox.Text = ""
       "
       "Button1
       "
       Me.Button1.Font = New System.Drawing.Font("Verdana", 11.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
       Me.Button1.Location = New System.Drawing.Point(6, 94)
       Me.Button1.Name = "Button1"
       Me.Button1.Size = New System.Drawing.Size(101, 33)
       Me.Button1.TabIndex = 1
       Me.Button1.Text = "Replace"
       "
       "ReplaceBox
       "
       Me.ReplaceBox.Font = New System.Drawing.Font("Verdana", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
       Me.ReplaceBox.Location = New System.Drawing.Point(4, 67)
       Me.ReplaceBox.Name = "ReplaceBox"
       Me.ReplaceBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
       Me.ReplaceBox.Size = New System.Drawing.Size(256, 22)
       Me.ReplaceBox.TabIndex = 2
       Me.ReplaceBox.Text = ""
       "
       "Label1
       "
       Me.Label1.Font = New System.Drawing.Font("Verdana", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
       Me.Label1.Location = New System.Drawing.Point(6, 5)
       Me.Label1.Name = "Label1"
       Me.Label1.Size = New System.Drawing.Size(100, 15)
       Me.Label1.TabIndex = 3
       Me.Label1.Text = "Find Text"
       "
       "Label2
       "
       Me.Label2.Font = New System.Drawing.Font("Verdana", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
       Me.Label2.Location = New System.Drawing.Point(4, 47)
       Me.Label2.Name = "Label2"
       Me.Label2.Size = New System.Drawing.Size(100, 17)
       Me.Label2.TabIndex = 4
       Me.Label2.Text = "Replace with"
       "
       "Button2
       "
       Me.Button2.Font = New System.Drawing.Font("Verdana", 11.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
       Me.Button2.Location = New System.Drawing.Point(155, 96)
       Me.Button2.Name = "Button2"
       Me.Button2.Size = New System.Drawing.Size(101, 33)
       Me.Button2.TabIndex = 5
       Me.Button2.Text = "Close"
       "
       "AuxForm
       "
       Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
       Me.ClientSize = New System.Drawing.Size(262, 133)
       Me.ControlBox = False
       Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Button2, Me.Label2, Me.Label1, Me.ReplaceBox, Me.Button1, Me.FindBox})
       Me.MaximizeBox = False
       Me.MinimizeBox = False
       Me.Name = "AuxForm"
       Me.Text = "Auxiliary Form"
       Me.TopMost = True
       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
       MainForm.txt.Text = MainForm.txt.Text.Replace(FindBox.Text, ReplaceBox.Text)
   End Sub
   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
       Me.Close()
   End Sub

End Class

Public Class MainForm

   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 bttnFind As System.Windows.Forms.Button
   Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
   <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
       Me.TextBox1 = New System.Windows.Forms.TextBox()
       Me.bttnFind = New System.Windows.Forms.Button()
       Me.SuspendLayout()
       "
       "TextBox1
       "
       Me.TextBox1.Font = New System.Drawing.Font("Verdana", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
       Me.TextBox1.Location = New System.Drawing.Point(6, 8)
       Me.TextBox1.Multiline = True
       Me.TextBox1.Name = "TextBox1"
       Me.TextBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
       Me.TextBox1.Size = New System.Drawing.Size(576, 278)
       Me.TextBox1.TabIndex = 0
       Me.TextBox1.Text = ""
       "
       "bttnFind
       "
       Me.bttnFind.Font = New System.Drawing.Font("Verdana", 11.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
       Me.bttnFind.Location = New System.Drawing.Point(398, 294)
       Me.bttnFind.Name = "bttnFind"
       Me.bttnFind.Size = New System.Drawing.Size(185, 33)
       Me.bttnFind.TabIndex = 1
       Me.bttnFind.Text = "Find && Replace"
       "
       "MainForm
       "
       Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
       Me.ClientSize = New System.Drawing.Size(588, 333)
       Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.bttnFind, Me.TextBox1})
       Me.Name = "MainForm"
       Me.Text = "Main Form"
       Me.ResumeLayout(False)
   End Sub
  1. End Region
   Public Shared txt As TextBox
   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttnFind.Click
       Dim aForm As New AuxForm()
       aForm.FindBox.Text = TextBox1.SelectedText
       aForm.Show()
   End Sub
   Private Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       txt = TextBox1
   End Sub

End Class

      </source>


Your Log in Dialog

<source lang="vbnet"> Imports System Imports System.ruponentModel Imports System.Windows.Forms

Public Class MainClass

   Shared Sub Main(ByVal args As String())
       Dim dlg As New dlgEmployee
       If dlg.ShowDialog() = Windows.Forms.DialogResult.OK Then
           MessageBox.Show( _
               dlg.txtFirstName.Text & " " & _
               dlg.txtLastName.Text)
       Else
           MessageBox.Show("Canceled")
       End If
   End Sub

End Class

<Global.Microsoft.VisualBasic.rupilerServices.DesignerGenerated()> _ Partial Public Class dlgEmployee

   Inherits System.Windows.Forms.Form
   "Form overrides dispose to clean up the component list.
   <System.Diagnostics.DebuggerNonUserCode()> _
   Protected Overrides Sub Dispose(ByVal disposing As Boolean)
       If disposing AndAlso components IsNot Nothing Then
           components.Dispose()
       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.
   <System.Diagnostics.DebuggerStepThrough()> _
   Private Sub InitializeComponent()
       Me.txtLastName = New System.Windows.Forms.TextBox
       Me.Label2 = New System.Windows.Forms.Label
       Me.btnCancel = New System.Windows.Forms.Button
       Me.btnOk = New System.Windows.Forms.Button
       Me.txtFirstName = New System.Windows.Forms.TextBox
       Me.Label1 = New System.Windows.Forms.Label
       Me.SuspendLayout()
       "
       "txtLastName
       "
       Me.txtLastName.Location = New System.Drawing.Point(72, 33)
       Me.txtLastName.Name = "txtLastName"
       Me.txtLastName.Size = New System.Drawing.Size(168, 20)
       Me.txtLastName.TabIndex = 7
       "
       "Label2
       "
       Me.Label2.AutoSize = True
       Me.Label2.Location = New System.Drawing.Point(8, 33)
       Me.Label2.Name = "Label2"
       Me.Label2.Size = New System.Drawing.Size(58, 13)
       Me.Label2.TabIndex = 10
       Me.Label2.Text = "Last Name"
       "
       "btnCancel
       "
       Me.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel
       Me.btnCancel.Location = New System.Drawing.Point(256, 49)
       Me.btnCancel.Name = "btnCancel"
       Me.btnCancel.Size = New System.Drawing.Size(56, 24)
       Me.btnCancel.TabIndex = 9
       Me.btnCancel.Text = "Cancel"
       "
       "btnOk
       "
       Me.btnOk.Location = New System.Drawing.Point(256, 9)
       Me.btnOk.Name = "btnOk"
       Me.btnOk.Size = New System.Drawing.Size(56, 24)
       Me.btnOk.TabIndex = 8
       Me.btnOk.Text = "OK"
       "
       "txtFirstName
       "
       Me.txtFirstName.Location = New System.Drawing.Point(72, 9)
       Me.txtFirstName.Name = "txtFirstName"
       Me.txtFirstName.Size = New System.Drawing.Size(168, 20)
       Me.txtFirstName.TabIndex = 5
       "
       "Label1
       "
       Me.Label1.AutoSize = True
       Me.Label1.Location = New System.Drawing.Point(8, 9)
       Me.Label1.Name = "Label1"
       Me.Label1.Size = New System.Drawing.Size(57, 13)
       Me.Label1.TabIndex = 6
       Me.Label1.Text = "First Name"
       "
       "dlgEmployee
       "
       Me.AcceptButton = Me.btnOk
       Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
       Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
       Me.CancelButton = Me.btnOk
       Me.ClientSize = New System.Drawing.Size(320, 82)
       Me.Controls.Add(Me.txtLastName)
       Me.Controls.Add(Me.Label2)
       Me.Controls.Add(Me.btnCancel)
       Me.Controls.Add(Me.btnOk)
       Me.Controls.Add(Me.txtFirstName)
       Me.Controls.Add(Me.Label1)
       Me.Name = "dlgEmployee"
       Me.Text = "Enter Value"
       Me.ResumeLayout(False)
       Me.PerformLayout()
   End Sub
   Friend WithEvents txtLastName As System.Windows.Forms.TextBox
   Friend WithEvents Label2 As System.Windows.Forms.Label
   Friend WithEvents btnCancel As System.Windows.Forms.Button
   Friend WithEvents btnOk As System.Windows.Forms.Button
   Friend WithEvents txtFirstName As System.Windows.Forms.TextBox
   Friend WithEvents Label1 As System.Windows.Forms.Label

End Class

      </source>


Your own dialog with a button

<source lang="vbnet"> Imports System Imports System.Collections Imports System.ruponentModel Imports System.Windows.Forms Imports System.Data Imports System.Configuration Imports System.Resources Imports System.Drawing Imports System.Drawing.Drawing2D Public Class PropertiesDialog

   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 Shadows WithEvents acceptButton As System.Windows.Forms.Button
   <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
       Me.acceptButton = New System.Windows.Forms.Button()
       Me.SuspendLayout()
       "
       "acceptButton
       "
       Me.acceptButton.Location = New System.Drawing.Point(128, 136)
       Me.acceptButton.Name = "acceptButton"
       Me.acceptButton.TabIndex = 0
       Me.acceptButton.Text = "Button1"
       "
       "PropertiesDialog
       "
       Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
       Me.ClientSize = New System.Drawing.Size(292, 266)
       Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.acceptButton})
       Me.Name = "PropertiesDialog"
       Me.Text = "PropertiesDialog"
       Me.ResumeLayout(False)
   End Sub
  1. End Region
   "Event to fire when Accept is pressed
   Public Event Accept As EventHandler
   Private Sub acceptButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles acceptButton.Click
      Me.Close()
   End Sub

End Class Public Class MainClass

   Shared Sub Main()
       Dim myform As Form = New PropertiesDialog()
       Application.Run(myform)
   End Sub

End Class

      </source>