VB学生学籍管理系统(论文+源程序) 第8页
具体实现如下:
Private Sub ListView_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 2 Then
PopupMenu menuOperator
End If
End Sub
实现该右键菜单各项功能的代码如下:
Private Sub menuAdd_Click()
'添加用户
Text1.SetFocus
End Sub
Private Sub menuDel_Click()
'删除用户
DeleteRecord
End Sub
3.3.4 修改密码窗体(frmchgPWD)
当用户要更改密码时,单击“系统选项/修改个人密码”菜单,弹出如图3.4所示窗体。在MDI主窗体编辑窗口中,单击“系统选项/修改个人密码”,添加如下代码:
Private Sub filemenu12_Click()
'修改密码界面
Frmchgpwd.Show 1
End Sub
图3.4 修改用户密码
当用户输入完毕时,单击“确定”按钮,引发Click事件。这时,先检查两次输入的密码是否一致,如果不一致,则提示用户,将焦点设置到第二个Text2控件,后面两个文本框清空,代码如下:
Private Sub Command1_Click()
Dim Oldpwd As String, pwd As String, confirmpwd As String
Oldpwd = Trim(Text1.Text)
pwd = Trim(Text2.Text)
confirmpwd = Trim(Text3.Text)
……
If Trim(pwd) <> Trim(confirmpwd) Then
MsgBox "两次输入的密码不相同!", vbInformation
Text2.Text = ""
Text3.Text = ""
Text2.SetFocus
Exit Sub
End If
End Sub
如果密码一致,则判断输入的原密码是否正确,如果正确则将新密码写入数据库,这时需要一个字符串变量表达SQL语句,一个Recordset对象变量打开系统信息数据表。然后打开数据库,并将新密码写入,提示用户密码修改成功。
Private Sub Command1_Click()
……
sqlstr = "select UserPWD from UserInfo where UserID='" & LoginUser & "'"
rs.Open sqlstr, con, 1, 1
If Not rs.EOF Then
If rs("UserPWD") <> Oldpwd Then
MsgBox "你输入的原密码不对!", vbInformation
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text1.SetFocus
Exit Sub
Else
sqlstr = "update UserInfo set UserPWD='" & pwd & "' where UserID='" & LoginUser & "'"
con.Execute sqlstr
MsgBox "您的密码更新成功,请牢记你的密码!", vbInformation
Unload Me
End If
Else
MsgBox "异常错误!", vbInformation
End If
rs.Close: Set rs = Nothing
End Sub
修改完毕后,单击“取消”退出此窗体。
Private Sub Command2_Click()
Unload Me
End Sub
3.3.5 浏览学生信息窗体(frmstu)
在工程中添加一个窗体,命名为frmstu.frm,这里将使用frmstu窗体,来实现浏览学生信息的功能,该界面运行时如图3.5所示
图3.5 浏览学生信息窗体
在该窗体中,用户可以查看/修改学生的信息,还可以添加/删除学生信息,所以用一个Treeview和一个Listview分别显示班级列表和该班级下面的学生列表,用Image和PictureBox来调整控件的大小。具体设置如表3.1所示
对象 属性 设置
Form Name Frmstu
Caption 学生档案管理
BorderStyle 2-Sizable
MDIChild True
WindowState 2-Maximized
Treeview Style tvwTreelinesPlusMinusPictureText
Listview FullRowSelect True
GridLines True
MultiSelect False
ToolTipText 双击显示详细资料
Image Name imgSplit
Picturebox Name SliptBar
表3.1 FrmStu中部分控件的属性
当窗体启动时,需要在Treeview中加载班级列表,并初始化Listview中的标题。
Private Sub Form_Load()
Call TreeviewLoad
Dim clmX As ColumnHeader
Set clmX = ListView.ColumnHeaders.Add(, , "学 号", ListView.Width / 7)
……
End Sub
在Form_Load事件中调用了TreeviewLoad函数,由于篇幅省略该函数的代码,具体实现见源程序。
当窗体大小发生变化时,调用Form_Resize,调整Frmstu中控件的大小。
Private Sub Form_Resize()
If WindowState <> 1 Then
If Me.Height < 3000 Then Me.Height = 3000
If Me.Width < 3000 Then Me.Width = 3000
SizeControls imgSplit.LeftEnd IfListView.Width = Me.Width
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>