⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmusermgr.vb

📁 <Visual Basic 数据库开发实例精粹(第二版)>一书首先介绍了Visual Basic(简称VB)开发的技巧和重点技术
💻 VB
字号:
Imports System.Windows.Forms

Public Class frmUserMgr
  Inherits System.Windows.Forms.Form

  '窗体将要加载的用户控件
  Private m_ucChangePwd As New ucModifyUserInfo
  Private m_ucAddUser As New ucAddUser
  Private m_ucUserList As New ucUserList

#Region " Windows 窗体设计器生成的代码 "

  Public Sub New()
    MyBase.New()

    '慎用EnableVisualStyles
    'Application.EnableVisualStyles()
    Application.DoEvents()

    '该调用是 Windows 窗体设计器所必需的。
    InitializeComponent()

    '在 InitializeComponent() 调用之后添加任何初始化

  End Sub

  '窗体重写 dispose 以清理组件列表。
  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

  '注意: 以下过程是 Windows 窗体设计器所必需的
  '可以使用 Windows 窗体设计器修改此过程。
  '不要使用代码编辑器修改它。
  Friend WithEvents XPanderList1 As XPanderControl.XPanderList
  Friend WithEvents imglistUserOp As System.Windows.Forms.ImageList
  Friend WithEvents lnkAddUser As System.Windows.Forms.LinkLabel
  Friend WithEvents lnkUserList As System.Windows.Forms.LinkLabel
  Friend WithEvents lnkExit As System.Windows.Forms.LinkLabel
  Friend WithEvents palUserOp As System.Windows.Forms.Panel
  Friend WithEvents lnkModifyInfo As System.Windows.Forms.LinkLabel
  Friend WithEvents XPUserOp As XPanderControl.XPander
  Friend WithEvents XPOtherOp As XPanderControl.XPander
  <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
    Me.components = New System.ComponentModel.Container
    Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(frmUserMgr))
    Me.imglistUserOp = New System.Windows.Forms.ImageList(Me.components)
    Me.XPanderList1 = New XPanderControl.XPanderList
    Me.XPUserOp = New XPanderControl.XPander
    Me.lnkModifyInfo = New System.Windows.Forms.LinkLabel
    Me.lnkAddUser = New System.Windows.Forms.LinkLabel
    Me.lnkUserList = New System.Windows.Forms.LinkLabel
    Me.XPOtherOp = New XPanderControl.XPander
    Me.lnkExit = New System.Windows.Forms.LinkLabel
    Me.palUserOp = New System.Windows.Forms.Panel
    Me.XPanderList1.SuspendLayout()
    Me.XPUserOp.SuspendLayout()
    Me.XPOtherOp.SuspendLayout()
    Me.SuspendLayout()
    '
    'imglistUserOp
    '
    Me.imglistUserOp.ImageSize = New System.Drawing.Size(16, 16)
    Me.imglistUserOp.ImageStream = CType(resources.GetObject("imglistUserOp.ImageStream"), System.Windows.Forms.ImageListStreamer)
    Me.imglistUserOp.TransparentColor = System.Drawing.Color.Transparent
    '
    'XPanderList1
    '
    Me.XPanderList1.AutoScroll = True
    Me.XPanderList1.BackColor = System.Drawing.Color.FromArgb(CType(99, Byte), CType(117, Byte), CType(222, Byte))
    Me.XPanderList1.Controls.Add(Me.XPUserOp)
    Me.XPanderList1.Controls.Add(Me.XPOtherOp)
    Me.XPanderList1.Dock = System.Windows.Forms.DockStyle.Left
    Me.XPanderList1.Location = New System.Drawing.Point(0, 0)
    Me.XPanderList1.Name = "XPanderList1"
    Me.XPanderList1.Size = New System.Drawing.Size(184, 264)
    Me.XPanderList1.TabIndex = 0
    '
    'XPUserOp
    '
    Me.XPUserOp.Animated = True
    Me.XPUserOp.AnimationTime = 50
    Me.XPUserOp.BackColor = System.Drawing.Color.Transparent
    Me.XPUserOp.BorderStyle = System.Windows.Forms.Border3DStyle.Flat
    Me.XPUserOp.CaptionFont = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Bold)
    Me.XPUserOp.CaptionFormatFlag = XPanderControl.XPander.FormatFlag.NoWrap
    Me.XPUserOp.CaptionStyle = XPanderControl.XPander.CaptionStyleEnum.Normal
    Me.XPUserOp.CaptionText = "用户管理操作"
    Me.XPUserOp.CaptionTextAlign = XPanderControl.XPander.CaptionTextAlignment.Left
    Me.XPUserOp.ChevronStyle = XPanderControl.XPander.ChevronStyleEnum.Image
    Me.XPUserOp.CollapsedHighlightImage = CType(resources.GetObject("XPUserOp.CollapsedHighlightImage"), System.Drawing.Bitmap)
    Me.XPUserOp.CollapsedImage = CType(resources.GetObject("XPUserOp.CollapsedImage"), System.Drawing.Bitmap)
    Me.XPUserOp.Controls.Add(Me.lnkModifyInfo)
    Me.XPUserOp.Controls.Add(Me.lnkAddUser)
    Me.XPUserOp.Controls.Add(Me.lnkUserList)
    Me.XPUserOp.Dock = System.Windows.Forms.DockStyle.Top
    Me.XPUserOp.DockPadding.Top = 25
    Me.XPUserOp.ExpandedHighlightImage = CType(resources.GetObject("XPUserOp.ExpandedHighlightImage"), System.Drawing.Bitmap)
    Me.XPUserOp.ExpandedImage = CType(resources.GetObject("XPUserOp.ExpandedImage"), System.Drawing.Bitmap)
    Me.XPUserOp.Location = New System.Drawing.Point(0, 0)
    Me.XPUserOp.Name = "XPUserOp"
    Me.XPUserOp.Size = New System.Drawing.Size(184, 130)
    Me.XPUserOp.TabIndex = 1
    Me.XPUserOp.Tag = 0
    Me.XPUserOp.TooltipText = Nothing
    '
    'lnkModifyInfo
    '
    Me.lnkModifyInfo.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
    Me.lnkModifyInfo.ImageIndex = 0
    Me.lnkModifyInfo.ImageList = Me.imglistUserOp
    Me.lnkModifyInfo.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline
    Me.lnkModifyInfo.Location = New System.Drawing.Point(14, 34)
    Me.lnkModifyInfo.Name = "lnkModifyInfo"
    Me.lnkModifyInfo.Size = New System.Drawing.Size(117, 25)
    Me.lnkModifyInfo.TabIndex = 1
    Me.lnkModifyInfo.TabStop = True
    Me.lnkModifyInfo.Text = "修改信息"
    Me.lnkModifyInfo.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
    '
    'lnkAddUser
    '
    Me.lnkAddUser.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
    Me.lnkAddUser.ImageIndex = 1
    Me.lnkAddUser.ImageList = Me.imglistUserOp
    Me.lnkAddUser.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline
    Me.lnkAddUser.Location = New System.Drawing.Point(14, 60)
    Me.lnkAddUser.Name = "lnkAddUser"
    Me.lnkAddUser.Size = New System.Drawing.Size(117, 25)
    Me.lnkAddUser.TabIndex = 2
    Me.lnkAddUser.TabStop = True
    Me.lnkAddUser.Text = "添加用户"
    Me.lnkAddUser.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
    '
    'lnkUserList
    '
    Me.lnkUserList.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
    Me.lnkUserList.ImageIndex = 2
    Me.lnkUserList.ImageList = Me.imglistUserOp
    Me.lnkUserList.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline
    Me.lnkUserList.Location = New System.Drawing.Point(14, 86)
    Me.lnkUserList.Name = "lnkUserList"
    Me.lnkUserList.Size = New System.Drawing.Size(117, 25)
    Me.lnkUserList.TabIndex = 3
    Me.lnkUserList.TabStop = True
    Me.lnkUserList.Text = "用户列表"
    Me.lnkUserList.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
    '
    'XPOtherOp
    '
    Me.XPOtherOp.BackColor = System.Drawing.Color.Transparent
    Me.XPOtherOp.BorderStyle = System.Windows.Forms.Border3DStyle.Flat
    Me.XPOtherOp.CaptionFont = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Bold)
    Me.XPOtherOp.CaptionFormatFlag = XPanderControl.XPander.FormatFlag.NoWrap
    Me.XPOtherOp.CaptionStyle = XPanderControl.XPander.CaptionStyleEnum.Normal
    Me.XPOtherOp.CaptionText = "其他操作"
    Me.XPOtherOp.CaptionTextAlign = XPanderControl.XPander.CaptionTextAlignment.Left
    Me.XPOtherOp.ChevronStyle = XPanderControl.XPander.ChevronStyleEnum.Image
    Me.XPOtherOp.CollapsedHighlightImage = CType(resources.GetObject("XPOtherOp.CollapsedHighlightImage"), System.Drawing.Bitmap)
    Me.XPOtherOp.CollapsedImage = CType(resources.GetObject("XPOtherOp.CollapsedImage"), System.Drawing.Bitmap)
    Me.XPOtherOp.Controls.Add(Me.lnkExit)
    Me.XPOtherOp.DockPadding.Top = 25
    Me.XPOtherOp.ExpandedHighlightImage = CType(resources.GetObject("XPOtherOp.ExpandedHighlightImage"), System.Drawing.Bitmap)
    Me.XPOtherOp.ExpandedImage = CType(resources.GetObject("XPOtherOp.ExpandedImage"), System.Drawing.Bitmap)
    Me.XPOtherOp.Location = New System.Drawing.Point(-2, 153)
    Me.XPOtherOp.Name = "XPOtherOp"
    Me.XPOtherOp.Size = New System.Drawing.Size(184, 102)
    Me.XPOtherOp.TabIndex = 1
    Me.XPOtherOp.Tag = 1
    Me.XPOtherOp.TooltipText = Nothing
    '
    'lnkExit
    '
    Me.lnkExit.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
    Me.lnkExit.ImageIndex = 3
    Me.lnkExit.ImageList = Me.imglistUserOp
    Me.lnkExit.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline
    Me.lnkExit.Location = New System.Drawing.Point(14, 40)
    Me.lnkExit.Name = "lnkExit"
    Me.lnkExit.Size = New System.Drawing.Size(117, 25)
    Me.lnkExit.TabIndex = 1
    Me.lnkExit.TabStop = True
    Me.lnkExit.Text = "退出管理"
    Me.lnkExit.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
    '
    'palUserOp
    '
    Me.palUserOp.Dock = System.Windows.Forms.DockStyle.Fill
    Me.palUserOp.Location = New System.Drawing.Point(184, 0)
    Me.palUserOp.Name = "palUserOp"
    Me.palUserOp.Size = New System.Drawing.Size(323, 264)
    Me.palUserOp.TabIndex = 1
    '
    'frmUserMgr
    '
    Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
    Me.CancelButton = Me.lnkExit
    Me.ClientSize = New System.Drawing.Size(507, 264)
    Me.Controls.Add(Me.palUserOp)
    Me.Controls.Add(Me.XPanderList1)
    Me.Name = "frmUserMgr"
    Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
    Me.Text = "用户管理"
    Me.XPanderList1.ResumeLayout(False)
    Me.XPUserOp.ResumeLayout(False)
    Me.XPOtherOp.ResumeLayout(False)
    Me.ResumeLayout(False)

  End Sub

#End Region
  '应用用户权限
  Private Sub ApplyUserPurview()
    Select Case LoginedUserInfo.RightLevel
      Case clientMgrBusiness.UserPurview.Admin
        'do nothing
      Case clientMgrBusiness.UserPurview.User
        lnkAddUser.Enabled = False
        lnkUserList.Enabled = False
    End Select
  End Sub

  '窗体初始化
  Private Sub frmUserMgr_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
    palUserOp.Controls.Clear()
    palUserOp.Controls.Add(Me.m_ucAddUser)
    palUserOp.Controls.Add(Me.m_ucChangePwd)
    palUserOp.Controls.Add(Me.m_ucUserList)
    Me.m_ucAddUser.Dock = DockStyle.Fill
    Me.m_ucChangePwd.Dock = DockStyle.Fill
    Me.m_ucUserList.Dock = DockStyle.Fill
    lnkUserTask_LinkClicked(Me.lnkModifyInfo, New LinkLabelLinkClickedEventArgs(lnkModifyInfo.Links(0)))

    '应用用户权限
    ApplyUserPurview()

  End Sub

  '用户管理操作命令按钮消息响应函数
  Private Sub lnkUserTask_LinkClicked(ByVal sender As System.Object, _
                          ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) _
                              Handles lnkModifyInfo.LinkClicked, _
                              lnkAddUser.LinkClicked, _
                              lnkUserList.LinkClicked
    '因为消息来源一定是LinkLabel 
    Dim lnk As LinkLabel = DirectCast(sender, LinkLabel)
    If lnk Is Nothing Then
      Return
    End If

    '应用用户权限,防止恶意突破
    If LoginedUserInfo.RightLevel >= clientMgrBusiness.UserPurview.User _
      And (lnk.Name = lnkAddUser.Name Or lnk.Name = lnkUserList.Name) Then
      Return
    End If

    Me.m_ucAddUser.Visible = False
    Me.m_ucChangePwd.Visible = False
    Me.m_ucUserList.Visible = False

    'Name属性一定不会重复
    Select Case lnk.Name
      Case lnkAddUser.Name
        Me.m_ucAddUser.Visible = True
      Case lnkModifyInfo.Name
        Me.m_ucChangePwd.Visible = True
      Case lnkUserList.Name
        Me.m_ucUserList.Visible = True
        Me.m_ucUserList.ReloadUserList()
    End Select

  End Sub

  Private Sub lnkExit_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles lnkExit.LinkClicked
    Me.Close()
  End Sub

End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -