'Visual Basic.Net JingCai Programming 100 Examples
'Author: Yong Zhang
'Publisher: Water Publisher China
'ISBN: 750841156
Imports System.IO
Imports System.Net
Imports System.Net.Sockets
Imports System.Text
Imports System.Reflection.Emit
Imports System.Windows.Forms
public class PopClientForm
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()
sHost = SetupForm.txtHost.Text
sPort = SetupForm.txtPort.Text
sUser = SetupForm.txtUser.Text
sPass = SetupForm.txtPassword.Text
showObject(False)
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.ComponentModel.IContainer
Friend WithEvents MainMenu1 As System.Windows.Forms.MainMenu
Friend WithEvents MenuItem1 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem3 As System.Windows.Forms.MenuItem
Friend WithEvents ToolBar1 As System.Windows.Forms.ToolBar
Friend WithEvents ImageList1 As System.Windows.Forms.ImageList
Friend WithEvents mnuProfile As System.Windows.Forms.MenuItem
Friend WithEvents mnuExit As System.Windows.Forms.MenuItem
Friend WithEvents btnReceive As System.Windows.Forms.ToolBarButton
Friend WithEvents btnPrevious As System.Windows.Forms.ToolBarButton
Friend WithEvents btnNext As System.Windows.Forms.ToolBarButton
Friend WithEvents StatusBar1 As System.Windows.Forms.StatusBar
Friend WithEvents Panel1 As System.Windows.Forms.Panel
Friend WithEvents TabControl1 As System.Windows.Forms.TabControl
Friend WithEvents TabPage1 As System.Windows.Forms.TabPage
Friend WithEvents Panel2 As System.Windows.Forms.Panel
Friend WithEvents txtMessage As System.Windows.Forms.TextBox
Friend WithEvents Panel3 As System.Windows.Forms.Panel
Friend WithEvents TabPage2 As System.Windows.Forms.TabPage
Friend WithEvents lstLog As System.Windows.Forms.ListBox
Friend WithEvents StatusBarPanel1 As System.Windows.Forms.StatusBarPanel
Friend WithEvents Label1 As System.Windows.Forms.Label
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(Form1))
Me.MainMenu1 = New System.Windows.Forms.MainMenu()
Me.MenuItem1 = New System.Windows.Forms.MenuItem()
Me.mnuProfile = New System.Windows.Forms.MenuItem()
Me.MenuItem3 = New System.Windows.Forms.MenuItem()
Me.mnuExit = New System.Windows.Forms.MenuItem()
Me.ToolBar1 = New System.Windows.Forms.ToolBar()
Me.btnReceive = New System.Windows.Forms.ToolBarButton()
Me.btnPrevious = New System.Windows.Forms.ToolBarButton()
Me.btnNext = New System.Windows.Forms.ToolBarButton()
Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components)
Me.StatusBar1 = New System.Windows.Forms.StatusBar()
Me.StatusBarPanel1 = New System.Windows.Forms.StatusBarPanel()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.TabControl1 = New System.Windows.Forms.TabControl()
Me.TabPage1 = New System.Windows.Forms.TabPage()
Me.Panel2 = New System.Windows.Forms.Panel()
Me.txtMessage = New System.Windows.Forms.TextBox()
Me.Panel3 = New System.Windows.Forms.Panel()
Me.Label1 = New System.Windows.Forms.Label()
Me.TabPage2 = New System.Windows.Forms.TabPage()
Me.lstLog = New System.Windows.Forms.ListBox()
CType(Me.StatusBarPanel1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel1.SuspendLayout()
Me.TabControl1.SuspendLayout()
Me.TabPage1.SuspendLayout()
Me.Panel2.SuspendLayout()
Me.Panel3.SuspendLayout()
Me.TabPage2.SuspendLayout()
Me.SuspendLayout()
'
'MainMenu1
'
Me.MainMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItem1})
'
'MenuItem1
'
Me.MenuItem1.Index = 0
Me.MenuItem1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.mnuProfile, Me.MenuItem3, Me.mnuExit})
Me.MenuItem1.Text = "&File"
'
'mnuProfile
'
Me.mnuProfile.Index = 0
Me.mnuProfile.Text = "&Profile"
'
'MenuItem3
'
Me.MenuItem3.Index = 1
Me.MenuItem3.Text = "-"
'
'mnuExit
'
Me.mnuExit.Index = 2
Me.mnuExit.Text = "E&xit"
'
'ToolBar1
'
Me.ToolBar1.AllowDrop = True
Me.ToolBar1.Buttons.AddRange(New System.Windows.Forms.ToolBarButton() {Me.btnReceive, Me.btnPrevious, Me.btnNext})
Me.ToolBar1.ButtonSize = New System.Drawing.Size(35, 35)
Me.ToolBar1.DropDownArrows = True
Me.ToolBar1.ImageList = Me.ImageList1
Me.ToolBar1.Name = "ToolBar1"
Me.ToolBar1.ShowToolTips = True
Me.ToolBar1.Size = New System.Drawing.Size(274, 38)
Me.ToolBar1.TabIndex = 0
'
'btnReceive
'
Me.btnReceive.Text = "Mail"
'
'btnPrevious
'
Me.btnPrevious.Enabled = False
Me.btnPrevious.Text = "Prev."
'
'btnNext
'
Me.btnNext.Enabled = False
Me.btnNext.Text = "Next"
Me.StatusBar1.Location = New System.Drawing.Point(0, 295)
Me.StatusBar1.Name = "StatusBar1"
Me.StatusBar1.Panels.AddRange(New System.Windows.Forms.StatusBarPanel() {Me.StatusBarPanel1})
Me.StatusBar1.Size = New System.Drawing.Size(274, 24)
Me.StatusBar1.TabIndex = 2
Me.StatusBarPanel1.AutoSize = System.Windows.Forms.StatusBarPanelAutoSize.Spring
'
'Panel1
'
Me.Panel1.Controls.AddRange(New System.Windows.Forms.Control() {Me.TabControl1})
Me.Panel1.Dock = System.Windows.Forms.DockStyle.Fill
Me.Panel1.Location = New System.Drawing.Point(0, 38)
Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(274, 257)
Me.Panel1.TabIndex = 3
'
'TabControl1
'
Me.TabControl1.Controls.AddRange(New System.Windows.Forms.Control() {Me.TabPage1, Me.TabPage2})
Me.TabControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.TabControl1.Name = "TabControl1"
Me.TabControl1.SelectedIndex = 0
Me.TabControl1.Size = New System.Drawing.Size(274, 257)
Me.TabControl1.TabIndex = 2
'
'TabPage1
'
Me.TabPage1.Controls.AddRange(New System.Windows.Forms.Control() {Me.Panel2, Me.Panel3})
Me.TabPage1.Location = New System.Drawing.Point(4, 21)
Me.TabPage1.Name = "TabPage1"
Me.TabPage1.Size = New System.Drawing.Size(266, 232)
Me.TabPage1.TabIndex = 0
Me.TabPage1.Text = "POP3"
'
'Panel2
'
Me.Panel2.Controls.AddRange(New System.Windows.Forms.Control() {Me.txtMessage})
Me.Panel2.Dock = System.Windows.Forms.DockStyle.Fill
Me.Panel2.DockPadding.All = 2
Me.Panel2.Location = New System.Drawing.Point(0, 24)
Me.Panel2.Name = "Panel2"
Me.Panel2.Size = New System.Drawing.Size(266, 208)
Me.Panel2.TabIndex = 1
'
'txtMessage
'
Me.txtMessage.Dock = System.Windows.Forms.DockStyle.Fill
Me.txtMessage.Location = New System.Drawing.Point(2, 2)
Me.txtMessage.Multiline = True
Me.txtMessage.Name = "txtMessage"
Me.txtMessage.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
Me.txtMessage.Size = New System.Drawing.Size(262, 204)
Me.txtMessage.TabIndex = 2
Me.txtMessage.Text = ""
'
'Panel3
'
Me.Panel3.Controls.AddRange(New System.Windows.Forms.Control() {Me.Label1})
Me.Panel3.Dock = System.Windows.Forms.DockStyle.Top
Me.Panel3.Name = "Panel3"
Me.Panel3.Size = New System.Drawing.Size(266, 24)
Me.Panel3.TabIndex = 0
'
'Label1
'
Me.Label1.Location = New System.Drawing.Point(8, 8)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(84, 15)
Me.Label1.TabIndex = 2
Me.Label1.Text = "POP3 Message:"
'
'TabPage2
'
Me.TabPage2.Controls.AddRange(New System.Windows.Forms.Control() {Me.lstLog})
Me.TabPage2.Location = New System.Drawing.Point(4, 21)
Me.TabPage2.Name = "TabPage2"
Me.TabPage2.Size = New System.Drawing.Size(302, 308)
Me.TabPage2.TabIndex = 1
Me.TabPage2.Text = "Transaction"
Me.TabPage2.Visible = False
'
'lstLog
'
Me.lstLog.Dock = System.Windows.Forms.DockStyle.Fill
Me.lstLog.HorizontalScrollbar = True
Me.lstLog.ItemHeight = 12
Me.lstLog.Name = "lstLog"
Me.lstLog.Size = New System.Drawing.Size(302, 308)
Me.lstLog.TabIndex = 0
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 15)
Me.ClientSize = New System.Drawing.Size(274, 319)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Panel1, Me.StatusBar1, Me.ToolBar1})
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Me.Menu = Me.MainMenu1
Me.Name = "Form1"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "POP3"
CType(Me.StatusBarPanel1, System.ComponentModel.ISupportInitialize).EndInit()
Me.Panel1.ResumeLayout(False)
Me.TabControl1.ResumeLayout(False)
Me.TabPage1.ResumeLayout(False)
Me.Panel2.ResumeLayout(False)
Me.Panel3.ResumeLayout(False)
Me.TabPage2.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
Private SetupForm As New Form2()
Private tcpClient As New System.Net.Sockets.TcpClient()
Private networkStream As Stream
Private totalMail, currentMail, mailSize As Integer
Private Sub ToolBar1_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick
Dim flag As Boolean
If e.Button Is btnReceive Then
Try
If receiveMail() Then
If totalMail > 0 Then
currentMail = 1
flag = showMail(currentMail)
showObject(True)
Else
MessageBox.Show("There is no mail.", "POP3", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1)
End If
Else
showObject(False)
End If
Catch ex As Exception
lstLog.Items.Add("Socket: " & ex.ToString())
End Try
End If
If e.Button Is btnPrevious Then
currentMail = currentMail - 1
If (currentMail <= 1) Then currentMail = 1
If (Not showMail(currentMail)) Then currentMail = currentMail + 1
showObject(True)
End If
If e.Button Is btnNext Then
currentMail = currentMail + 1
If (currentMail >= totalMail) Then currentMail = totalMail
If (Not showMail(currentMail)) Then currentMail = currentMail - 1
showObject(True)
End If
End Sub
Private Sub mnuProfile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuProfile.Click
SetupForm.ShowDialog()
End Sub
Private Sub mnuExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuExit.Click
tcpClient.Close()
End
End Sub
Private Function receiveMail() As Boolean
Dim strHost, strPort, strUser, strPass As String
Dim strTo, strSubject, strMsg As String
Dim bytes(tcpClient.ReceiveBufferSize) As Byte
Dim strResponse As String = Nothing
strHost = SetupForm.txtHost.Text
strPort = SetupForm.txtPort.Text
strUser = SetupForm.txtUser.Text
strPass = SetupForm.txtPassword.Text
lstLog.Items.Clear()
Try
lstLog.Items.Add("C: Trying to connect to host " & strHost & ", port: " & strPort)
tcpClient.Connect(strHost, Int32.Parse(strPort))
networkStream = tcpClient.GetStream()
If Not POP3Response() Then Return False
strMsg = "USER " & strUser
If (Not POP3Request(strMsg)) Then Return False
If (Not POP3Response()) Then Return False
strMsg = "PASS " & strPass
If (Not POP3Request(strMsg)) Then Return False
If (Not POP3Response()) Then Return False
strMsg = "STAT"
If (Not POP3Request(strMsg)) Then Return False
networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
strResponse = Encoding.ASCII.GetString(bytes)
lstLog.Items.Add("S: " & strResponse.ToString())
If (Not strResponse.StartsWith("+OK")) Then
MessageBox.Show(strResponse.ToString(), "POP3 Error", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1)
Return False
End If
Dim strTemp() As String
strTemp = strResponse.Split(" ")
totalMail = Int32.Parse(strTemp(1).Trim)
mailSize = Int32.Parse(strTemp(2).Trim)
Return True
Catch ex As Exception
tcpClient.Close()
lstLog.Items.Add(ex.ToString())
Return False
End Try
End Function
Private Sub showObject(ByVal flag As Boolean)
If (flag) Then
btnReceive.Enabled = False
If ((totalMail > 1) And (currentMail = 1)) Then
btnPrevious.Enabled = False
btnNext.Enabled = True
ElseIf ((currentMail < totalMail) And (currentMail > 1)) Then
btnPrevious.Enabled = True
btnNext.Enabled = True
ElseIf ((currentMail = totalMail) And (currentMail > 1)) Then
btnPrevious.Enabled = True
btnNext.Enabled = False
End If
Else
btnPrevious.Enabled = False
btnNext.Enabled = False
btnReceive.Enabled = True
txtMessage.Clear()
lstLog.Items.Clear()
End If
End Sub
Private Function showMail(ByVal mailNo As Integer) As Boolean
Dim strMsg, strTemp As String
Dim strContent As String = Nothing
Dim blnFlag As Boolean = True
Dim bytes(tcpClient.ReceiveBufferSize) As Byte
Dim strResponse As String = Nothing
Dim byteMsg() As Byte
Try
strMsg = "RETR " & mailNo
If (Not POP3Request(strMsg)) Then Return False
Do
networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
strResponse = Encoding.ASCII.GetString(bytes)
If blnFlag Then
If (Not strResponse.StartsWith("+OK")) Then
MessageBox.Show(strResponse.ToString(), "POP3 Error", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1)
Return False
End If
blnFlag = False
End If
strContent = strContent & strResponse.Trim.ToString
Dim cNull As Char = ControlChars.NullChar
byteMsg = Encoding.ASCII.GetBytes(strContent.Trim(cNull).ToCharArray())
strTemp = Encoding.ASCII.GetString(byteMsg, 0, byteMsg.Length - 2)
If (strTemp.Trim().EndsWith(".")) Then
Exit Do
End If
Loop
txtMessage.Text = strContent
StatusBar1.Text = "Total: " & totalMail & " (Size: " & mailSize & ") Current: " & mailNo
Return True
Catch ex As Exception
lstLog.Items.Add(ex.ToString())
Return False
End Try
End Function
Private Function POP3Response() As Boolean
Dim bytes(tcpClient.ReceiveBufferSize) As Byte
Dim strResponse As String = Nothing
Try
networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
strResponse = Encoding.ASCII.GetString(bytes)
lstLog.Items.Add("S: " & strResponse.ToString())
If Not strResponse.StartsWith("+OK") Then
lstLog.Items.Add("POP3Response Error.")
tcpClient.Close()
Return False
Else
Return True
End If
Catch ex As Exception
lstLog.Items.Add("POP3Response Error: " & ex.ToString())
tcpClient.Close()
Return False
End Try
End Function
Private Function POP3Request(ByVal strMsg As String) As Boolean
Dim byteMsg() As Byte
strMsg = strMsg & ControlChars.CrLf
Try
byteMsg = Encoding.ASCII.GetBytes(strMsg.ToCharArray())
networkStream.Write(byteMsg, 0, byteMsg.Length)
lstLog.Items.Add("C: " & strMsg.ToString())
Return True
Catch ex As Exception
lstLog.Items.Add("POP3Request Error: " & ex.ToString())
tcpClient.Close()
Return False
End Try
End Function
End Class
Module Module1
Public sHost As String
Public sPort As String
Public sUser As String
Public sPass As String
End Module
Public Class Form2
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.ComponentModel.IContainer
Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
Friend WithEvents txtHost As System.Windows.Forms.TextBox
Friend WithEvents txtPort As System.Windows.Forms.TextBox
Friend WithEvents txtUser As System.Windows.Forms.TextBox
Friend WithEvents btnOK As System.Windows.Forms.Button
Friend WithEvents btnCancel As System.Windows.Forms.Button
Friend WithEvents txtPassword As System.Windows.Forms.TextBox
Friend WithEvents Label5 As System.Windows.Forms.Label
Friend WithEvents Label6 As System.Windows.Forms.Label
Friend WithEvents Label7 As System.Windows.Forms.Label
Friend WithEvents Label8 As System.Windows.Forms.Label
Private Sub InitializeComponent()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
Me.txtPassword = New System.Windows.Forms.TextBox()
Me.txtUser = New System.Windows.Forms.TextBox()
Me.txtPort = New System.Windows.Forms.TextBox()
Me.txtHost = New System.Windows.Forms.TextBox()
Me.Label5 = New System.Windows.Forms.Label()
Me.Label6 = New System.Windows.Forms.Label()
Me.Label7 = New System.Windows.Forms.Label()
Me.Label8 = New System.Windows.Forms.Label()
Me.btnOK = New System.Windows.Forms.Button()
Me.btnCancel = New System.Windows.Forms.Button()
Me.GroupBox1.SuspendLayout()
Me.SuspendLayout()
'
'GroupBox1
'
Me.GroupBox1.Controls.AddRange(New System.Windows.Forms.Control() {Me.txtPassword, Me.txtUser, Me.txtPort, Me.txtHost, Me.Label5, Me.Label6, Me.Label7, Me.Label8})
Me.GroupBox1.Location = New System.Drawing.Point(3, 5)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Size = New System.Drawing.Size(240, 135)
Me.GroupBox1.TabIndex = 0
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "POP3 Server"
'
'txtPassword
'
Me.txtPassword.Location = New System.Drawing.Point(70, 98)
Me.txtPassword.Name = "txtPassword"
Me.txtPassword.PasswordChar = Microsoft.VisualBasic.ChrW(42)
Me.txtPassword.Size = New System.Drawing.Size(160, 22)
Me.txtPassword.TabIndex = 3
Me.txtPassword.Text = ""
'
'txtUser
'
Me.txtUser.Location = New System.Drawing.Point(70, 72)
Me.txtUser.Name = "txtUser"
Me.txtUser.Size = New System.Drawing.Size(160, 22)
Me.txtUser.TabIndex = 2
Me.txtUser.Text = "leo_huang"
'
'txtPort
'
Me.txtPort.Location = New System.Drawing.Point(70, 46)
Me.txtPort.Name = "txtPort"
Me.txtPort.Size = New System.Drawing.Size(160, 22)
Me.txtPort.TabIndex = 1
Me.txtPort.Text = "110"
'
'txtHost
'
Me.txtHost.Location = New System.Drawing.Point(70, 20)
Me.txtHost.Name = "txtHost"
Me.txtHost.Size = New System.Drawing.Size(160, 22)
Me.txtHost.TabIndex = 0
Me.txtHost.Text = "192.168.1.59"
'
'Label5
'
Me.Label5.Location = New System.Drawing.Point(8, 24)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(70, 15)
Me.Label5.TabIndex = 0
Me.Label5.Text = "Host:"
'
'Label6
'
Me.Label6.Location = New System.Drawing.Point(8, 102)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(70, 15)
Me.Label6.TabIndex = 3
Me.Label6.Text = "Password:"
'
'Label7
'
Me.Label7.Location = New System.Drawing.Point(8, 76)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(70, 15)
Me.Label7.TabIndex = 2
Me.Label7.Text = "Login:"
'
'Label8
'
Me.Label8.Location = New System.Drawing.Point(8, 50)
Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(70, 15)
Me.Label8.TabIndex = 1
Me.Label8.Text = "Port:"
'
'btnOK
'
Me.btnOK.Location = New System.Drawing.Point(28, 152)
Me.btnOK.Name = "btnOK"
Me.btnOK.Size = New System.Drawing.Size(85, 25)
Me.btnOK.TabIndex = 4
Me.btnOK.Text = "OK"
'
'btnCancel
'
Me.btnCancel.Location = New System.Drawing.Point(133, 152)
Me.btnCancel.Name = "btnCancel"
Me.btnCancel.Size = New System.Drawing.Size(85, 25)
Me.btnCancel.TabIndex = 5
Me.btnCancel.Text = "Cancel"
'
'Form2
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 15)
Me.ClientSize = New System.Drawing.Size(247, 191)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.btnCancel, Me.btnOK, Me.GroupBox1})
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Me.Name = "Form2"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
Me.Text = "POP3 Profile"
Me.GroupBox1.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
txtHost.Text = sHost
txtPort.Text = sPort
txtUser.Text = sUser
txtPassword.Text = sPass
End Sub
Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
If txtHost.Text = "" Or txtPort.Text = "" Or txtUser.Text = "" Then
MessageBox.Show("Please enter the information.", "POP3", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1)
Else
sHost = txtHost.Text
sPort = txtPort.Text
sUser = txtUser.Text
sPass = txtPassword.Text
Me.Close()
End If
End Sub
Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
Me.Close()
End Sub
End Class