frmmain.vb
来自「OPCserver OPCserver.rar」· VB 代码 · 共 347 行
VB
347 行
Option Strict Off
Option Explicit On
Friend Class FrmMain
Inherits System.Windows.Forms.Form
#Region "Windows 窗体设计器生成的代码"
Public Sub New()
MyBase.New()
If m_vb6FormDefInstance Is Nothing Then
If m_InitializingDefInstance Then
m_vb6FormDefInstance = Me
Else
Try
'对于启动窗体,所创建的第一个实例为默认实例。
If System.Reflection.Assembly.GetExecutingAssembly.EntryPoint.DeclaringType Is Me.GetType Then
m_vb6FormDefInstance = Me
End If
Catch
End Try
End If
End If
'此调用是 Windows 窗体设计器所必需的。
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
'Windows 窗体设计器所必需的
Private components As System.ComponentModel.IContainer
Public ToolTip1 As System.Windows.Forms.ToolTip
Public WithEvents Text1 As System.Windows.Forms.TextBox
Public WithEvents Timer1 As System.Windows.Forms.Timer
Public WithEvents StatusBar1 As AxComctlLib.AxStatusBar
Public WithEvents IDR_Menu_Register As System.Windows.Forms.MenuItem
Public WithEvents IDR_Menu_UnRegister As System.Windows.Forms.MenuItem
Public WithEvents IDR_Menu_0001 As System.Windows.Forms.MenuItem
Public WithEvents IDR_Menu_SvrStatus As System.Windows.Forms.MenuItem
Public WithEvents IDR_Menu_0003 As System.Windows.Forms.MenuItem
Public WithEvents IDR_Menu_AddItem As System.Windows.Forms.MenuItem
Public WithEvents IDR_Menu_DelItem As System.Windows.Forms.MenuItem
Public WithEvents IDR_Menu_0002 As System.Windows.Forms.MenuItem
Public WithEvents IDR_Menu_Exit As System.Windows.Forms.MenuItem
Public WithEvents IDR_Menu_OPC As System.Windows.Forms.MenuItem
Public WithEvents IDR_Menu_Start As System.Windows.Forms.MenuItem
Public WithEvents IDR_Menu_Stop As System.Windows.Forms.MenuItem
Public WithEvents IDR_Menu_DataTime As System.Windows.Forms.MenuItem
Public WithEvents IDR_Menu_About As System.Windows.Forms.MenuItem
Public MainMenu1 As System.Windows.Forms.MainMenu
'注意: 以下过程是 Windows 窗体设计器所必需的
'可以使用 Windows 窗体设计器来修改它。
'不要使用代码编辑器修改它。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container
Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(FrmMain))
Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
Me.Text1 = New System.Windows.Forms.TextBox
Me.Timer1 = New System.Windows.Forms.Timer(Me.components)
Me.StatusBar1 = New AxComctlLib.AxStatusBar
Me.MainMenu1 = New System.Windows.Forms.MainMenu
Me.IDR_Menu_OPC = New System.Windows.Forms.MenuItem
Me.IDR_Menu_Register = New System.Windows.Forms.MenuItem
Me.IDR_Menu_UnRegister = New System.Windows.Forms.MenuItem
Me.IDR_Menu_0001 = New System.Windows.Forms.MenuItem
Me.IDR_Menu_SvrStatus = New System.Windows.Forms.MenuItem
Me.IDR_Menu_0003 = New System.Windows.Forms.MenuItem
Me.IDR_Menu_AddItem = New System.Windows.Forms.MenuItem
Me.IDR_Menu_DelItem = New System.Windows.Forms.MenuItem
Me.IDR_Menu_0002 = New System.Windows.Forms.MenuItem
Me.IDR_Menu_Exit = New System.Windows.Forms.MenuItem
Me.IDR_Menu_DataTime = New System.Windows.Forms.MenuItem
Me.IDR_Menu_Start = New System.Windows.Forms.MenuItem
Me.IDR_Menu_Stop = New System.Windows.Forms.MenuItem
Me.IDR_Menu_About = New System.Windows.Forms.MenuItem
CType(Me.StatusBar1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'Text1
'
Me.Text1.AcceptsReturn = True
Me.Text1.AutoSize = False
Me.Text1.BackColor = System.Drawing.SystemColors.Window
Me.Text1.Cursor = System.Windows.Forms.Cursors.IBeam
Me.Text1.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Text1.ForeColor = System.Drawing.SystemColors.WindowText
Me.Text1.Location = New System.Drawing.Point(152, 24)
Me.Text1.MaxLength = 0
Me.Text1.Multiline = True
Me.Text1.Name = "Text1"
Me.Text1.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.Text1.Size = New System.Drawing.Size(265, 273)
Me.Text1.TabIndex = 1
Me.Text1.Text = ""
'
'Timer1
'
Me.Timer1.Interval = 3000
'
'StatusBar1
'
Me.StatusBar1.Dock = System.Windows.Forms.DockStyle.Bottom
Me.StatusBar1.Location = New System.Drawing.Point(0, 315)
Me.StatusBar1.Name = "StatusBar1"
Me.StatusBar1.OcxState = CType(resources.GetObject("StatusBar1.OcxState"), System.Windows.Forms.AxHost.State)
Me.StatusBar1.Size = New System.Drawing.Size(648, 25)
Me.StatusBar1.TabIndex = 0
'
'MainMenu1
'
Me.MainMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.IDR_Menu_OPC, Me.IDR_Menu_DataTime, Me.IDR_Menu_About})
'
'IDR_Menu_OPC
'
Me.IDR_Menu_OPC.Index = 0
Me.IDR_Menu_OPC.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.IDR_Menu_Register, Me.IDR_Menu_UnRegister, Me.IDR_Menu_0001, Me.IDR_Menu_SvrStatus, Me.IDR_Menu_0003, Me.IDR_Menu_AddItem, Me.IDR_Menu_DelItem, Me.IDR_Menu_0002, Me.IDR_Menu_Exit})
Me.IDR_Menu_OPC.Text = "OPC"
'
'IDR_Menu_Register
'
Me.IDR_Menu_Register.Index = 0
Me.IDR_Menu_Register.Text = "Register"
'
'IDR_Menu_UnRegister
'
Me.IDR_Menu_UnRegister.Index = 1
Me.IDR_Menu_UnRegister.Text = "UnRegister"
'
'IDR_Menu_0001
'
Me.IDR_Menu_0001.Index = 2
Me.IDR_Menu_0001.Text = "-"
'
'IDR_Menu_SvrStatus
'
Me.IDR_Menu_SvrStatus.Index = 3
Me.IDR_Menu_SvrStatus.Text = "Server Status"
'
'IDR_Menu_0003
'
Me.IDR_Menu_0003.Index = 4
Me.IDR_Menu_0003.Text = "-"
'
'IDR_Menu_AddItem
'
Me.IDR_Menu_AddItem.Index = 5
Me.IDR_Menu_AddItem.Text = "Add Item"
'
'IDR_Menu_DelItem
'
Me.IDR_Menu_DelItem.Index = 6
Me.IDR_Menu_DelItem.Text = "Delete Item"
'
'IDR_Menu_0002
'
Me.IDR_Menu_0002.Index = 7
Me.IDR_Menu_0002.Text = "-"
'
'IDR_Menu_Exit
'
Me.IDR_Menu_Exit.Index = 8
Me.IDR_Menu_Exit.Text = "Exit"
'
'IDR_Menu_DataTime
'
Me.IDR_Menu_DataTime.Index = 1
Me.IDR_Menu_DataTime.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.IDR_Menu_Start, Me.IDR_Menu_Stop})
Me.IDR_Menu_DataTime.Text = "Data Time"
'
'IDR_Menu_Start
'
Me.IDR_Menu_Start.Index = 0
Me.IDR_Menu_Start.Text = "Start"
'
'IDR_Menu_Stop
'
Me.IDR_Menu_Stop.Index = 1
Me.IDR_Menu_Stop.Text = "Stop"
'
'IDR_Menu_About
'
Me.IDR_Menu_About.Index = 2
Me.IDR_Menu_About.Text = "About"
'
'FrmMain
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.BackColor = System.Drawing.SystemColors.WindowText
Me.ClientSize = New System.Drawing.Size(648, 340)
Me.Controls.Add(Me.Text1)
Me.Controls.Add(Me.StatusBar1)
Me.Cursor = System.Windows.Forms.Cursors.Default
Me.Location = New System.Drawing.Point(11, 30)
Me.Menu = Me.MainMenu1
Me.Name = "FrmMain"
Me.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
Me.Text = "TuoLin OPC Server For VB Demo"
CType(Me.StatusBar1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
#End Region
#Region "升级支持"
Private Shared m_vb6FormDefInstance As FrmMain
Private Shared m_InitializingDefInstance As Boolean
Public Shared Property DefInstance() As FrmMain
Get
If m_vb6FormDefInstance Is Nothing OrElse m_vb6FormDefInstance.IsDisposed Then
m_InitializingDefInstance = True
m_vb6FormDefInstance = New FrmMain()
m_InitializingDefInstance = False
End If
DefInstance = m_vb6FormDefInstance
End Get
Set
m_vb6FormDefInstance = Value
End Set
End Property
#End Region
Private Sub FrmMain_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
'初始化
OnInitOpcServer()
Timer1.Enabled = False
IDR_Menu_Start.Enabled = True
IDR_Menu_Stop.Enabled = False
End Sub
'UPGRADE_WARNING: 初始化窗体时可能激发事件 FrmMain.Resize。 单击以获得更多信息:“ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup2075"”
Private Sub FrmMain_Resize(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Resize
Text1.Left = 0
Text1.Top = 0
If (VB6.PixelsToTwipsX(Me.Width) - 10) > 0 Then Text1.Width = VB6.TwipsToPixelsX(VB6.PixelsToTwipsX(Me.Width) - 10)
If (VB6.PixelsToTwipsY(Me.Height) - VB6.PixelsToTwipsY(StatusBar1.Height) - 200 > 0) Then Text1.Height = VB6.TwipsToPixelsY(VB6.PixelsToTwipsY(Me.Height) - 600 - VB6.PixelsToTwipsY(StatusBar1.Height))
End Sub
'UPGRADE_WARNING: Form 事件 FrmMain.Unload 具有新的行为。 单击以获得更多信息:“ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup2065"”
Private Sub FrmMain_Closed(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Closed
OnUnInitOpcServer()
End Sub
Public Sub IDR_Menu_About_Popup(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles IDR_Menu_About.Popup
IDR_Menu_About_Click(eventSender, eventArgs)
End Sub
Public Sub IDR_Menu_About_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles IDR_Menu_About.Click
VB6.ShowForm(frmAbout.DefInstance, 1, Me)
End Sub
Public Sub IDR_Menu_AddItem_Popup(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles IDR_Menu_AddItem.Popup
IDR_Menu_AddItem_Click(eventSender, eventArgs)
End Sub
Public Sub IDR_Menu_AddItem_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles IDR_Menu_AddItem.Click
'Additem
OnAddItem()
StatusBar1.SimpleText = "OnAddItem........"
End Sub
Public Sub IDR_Menu_DelItem_Popup(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles IDR_Menu_DelItem.Popup
IDR_Menu_DelItem_Click(eventSender, eventArgs)
End Sub
Public Sub IDR_Menu_DelItem_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles IDR_Menu_DelItem.Click
'DeleteItem
OnDeleteItem()
End Sub
Public Sub IDR_Menu_Register_Popup(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles IDR_Menu_Register.Popup
IDR_Menu_Register_Click(eventSender, eventArgs)
End Sub
Public Sub IDR_Menu_Register_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles IDR_Menu_Register.Click
'register
Call OnRegister()
StatusBar1.SimpleText = "OnRegister..........."
End Sub
Public Sub IDR_Menu_Start_Popup(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles IDR_Menu_Start.Popup
IDR_Menu_Start_Click(eventSender, eventArgs)
End Sub
Public Sub IDR_Menu_Start_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles IDR_Menu_Start.Click
StatusBar1.SimpleText = "Timer1...start......."
Timer1.Enabled = True
IDR_Menu_Start.Enabled = False
IDR_Menu_Stop.Enabled = True
End Sub
Public Sub IDR_Menu_Stop_Popup(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles IDR_Menu_Stop.Popup
IDR_Menu_Stop_Click(eventSender, eventArgs)
End Sub
Public Sub IDR_Menu_Stop_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles IDR_Menu_Stop.Click
Timer1.Enabled = False
StatusBar1.SimpleText = "Timer1...stop........"
IDR_Menu_Start.Enabled = True
IDR_Menu_Stop.Enabled = False
End Sub
Public Sub IDR_Menu_UnRegister_Popup(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles IDR_Menu_UnRegister.Popup
IDR_Menu_UnRegister_Click(eventSender, eventArgs)
End Sub
Public Sub IDR_Menu_UnRegister_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles IDR_Menu_UnRegister.Click
'UnRegister
Call OnUnRegister()
StatusBar1.SimpleText = "OnUnRegister..........."
End Sub
Public Sub IDR_Menu_SvrStatus_Popup(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles IDR_Menu_SvrStatus.Popup
IDR_Menu_SvrStatus_Click(eventSender, eventArgs)
End Sub
Public Sub IDR_Menu_SvrStatus_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles IDR_Menu_SvrStatus.Click
'ServerStatus
TL_AsNTService(lpOPCProgID)
TL_SetServerState((opcdefine.OPCSERVERSTATE.OPC_STATUS_RUNNING))
TL_SetMajorVersion((1))
TL_SetMinorVersion((2))
TL_SetBuildNumber((3))
TL_SetVendorInfo(("TuoLin"))
TL_SetBandWidth((50))
End Sub
Public Sub IDR_Menu_Exit_Popup(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles IDR_Menu_Exit.Popup
IDR_Menu_Exit_Click(eventSender, eventArgs)
End Sub
Public Sub IDR_Menu_Exit_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles IDR_Menu_Exit.Click
'Exit
If MsgBox("是否退出程序?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "OPC Server Demo") = MsgBoxResult.Yes Then
Me.Close()
End If
End Sub
Private Sub Timer1_Tick(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Timer1.Tick
StatusBar1.SimpleText = "Start Update data..........."
OnRandomData()
OnUpdateData()
StatusBar1.SimpleText = "Update data..........."
System.Windows.Forms.Application.DoEvents()
End Sub
End Class
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?