VB.net 实现简单电子相册程序

需积分: 9 3 下载量 198 浏览量 更新于2024-09-15 收藏 4.19MB DOC 举报
"VB.net电子相册是一个简单的应用,由刘声武于2012年6月2日设计。该程序提供了用户友好的界面,允许用户输入图片文件路径,展示图片,并支持幻灯片播放功能。源代码可用,便于学习和理解VB.net编程基础以及图像处理技术。" 在VB.net中创建电子相册是一项基础的编程实践,它涉及到多个关键知识点: 1. **图形用户界面(GUI)**:VB.net 提供了丰富的控件和工具来构建图形界面,如 PictureBox 控件用于显示图片,Button 控件用于触发事件,InputBox 用于用户输入,Label 控件用于显示文本信息。在这个电子相册设计中,界面包括了浏览、切换图片和设置播放时间的元素。 2. **事件驱动编程**:VB.net 使用事件驱动模型,当用户与界面元素交互(如点击按钮)时,对应的事件处理函数会被调用。例如,Button1_Click 事件处理函数用于处理导入图片路径的逻辑,Button2_Click 用于切换图片,Button3_Click 可能用于幻灯片播放。 3. **文件操作**:在VB.net中,可以使用 `System.Drawing.Image.FromFile` 方法加载图片文件,这需要知道图片的完整路径。用户输入的图片路径被存储并用于加载相应的图片。 4. **字符串处理**:在VB.net中,字符串可以通过连接运算符(&)拼接。例如,将图片的根目录(a1)和图片序号(b1)组合成完整的图片文件名(a1 & "\" & b1 & ".jpg")。 5. **条件判断与循环**:程序中的 `If...Then...Else` 结构用于处理用户输入的合法性检查,如判断路径是否为空,图片是否已导入。同时,循环结构可能用于实现幻灯片播放功能,按顺序显示图片。 6. **异常处理**:`Try...Catch...End Try` 块用于捕获和处理可能出现的错误,例如,如果用户输入的图片路径不正确,程序会显示错误消息。 7. **变量管理**:变量如 a1, a2, b1 和 a4 被用来存储图片路径、文件名信息和当前图片的位置。它们是程序状态的重要组成部分。 8. **控件属性**:例如,`PictureBox1.Image` 属性被用来设置显示的图片,`Label2.Text` 设置标签上的文本,这些都是对控件属性的直接修改,以更新用户界面。 通过这个VB.net电子相册项目,开发者可以学习到如何组织程序结构,处理用户输入,读取文件,以及使用控件进行交互等基本技能,这些是VB.net编程的基础。同时,源码提供了一个实用的示例,适合初学者参考和学习。
2015-06-14 上传
VB电子相册 电子相册 1、数据库连接 Public conn As ADODB.Connection Public Sub conDB() Set conn = New ADODB.Connection conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _ & App.Path & "\data\pic.mdb" conn.Open End Sub 2、登录模块 Dim loginTimes As Integer Private rsmc As ADODB.Recordset Private rs As ADODB.Recordset Public userName As String Private Sub cmdExit_Click() Unload Me End Sub Private Sub cmdOK_Click() Call login End Sub Private Sub Form_Activate() Call conDB Set rsmc = New ADODB.Recordset rsmc.CursorLocation = adUseClient rsmc.Open "用户信息表", conn, 0, 1 'need to learn cbUserName.Clear While Not rsmc.EOF cbUserName.AddItem rsmc.Fields("用户名") rsmc.MoveNext Wend cbUserName.SetFocus tbPwd.Text = "" cbUserName.Refresh End Sub Private Sub Form_Unload(Cancel As Integer) conn.Close Set rs = Nothing End Sub Sub login() Dim strSql As String userName = "" If Trim(cbUserName.Text) = "" Then MsgBox "用户名不用为空,请选择用户名!", vbOKOnly + vbExclamation, "警告" cbUserName.SetFocus Else strSql = "select * from 用户信息表 where 用户名='" & Trim(cbUserName.Text) & "'" Set rs = New ADODB.Recordset rs.Open strSql, conn, 2, 2 If Trim(rs.Fields("密码")) = Trim(tbPwd.Text) Then rs.Close Me.Hide userName = Trim(cbUserName.Text) 'Load frmMain frmMain.Show Exit Sub Else MsgBox "密码不对,请重新输入!", vbOKOnly + vbExclamation, "警告" tbPwd.Text = "" tbPwd.SetFocus End If loginTimes = loginTimes + 1 If loginTimes = 3 Then MsgBox "密码错误已有3次,你不能进入系统!", vbOKOnly + vbQuestion, "提示" Unload Me End If End If End Sub 3、主模块 Private rs As ADODB.Recordset Dim stuNum As Integer Private Sub Form_Activate() Call conDB End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) conn.Close Set conn = Nothing End Sub Private Sub mnuAddPic_Click() frmAddPic.Show End Sub Private Sub mnuDeletePic_Click() frmDeletePic.Show End Sub Private Sub mnuShowpic_Click() frmShow.Show End Sub Private Sub mnuExit_Click() Unload Me End End Sub Private Sub mnuSMPic_Click() frmSMPic.Show End Sub Private Sub mnuUser_Click() Dim frm1 As New frmUser frm1.Show End Sub 4、显示图片模块 Dim str As String Dim rs As ADODB.Recordset Dim rsNum As Integer Dim nextNum As Integer Private Sub cbPic_Click() str = App.Path + "\" Set rs = New ADODB.Recordset Dim strConn As String strConn = "select * from pic where name='" + Trim(cbPic.Text) + "'" rs.Open strConn, conn, 0, 1 str = str + rs.Fields("address").Value 'MsgBox str Image1.Picture = LoadPicture(str) rs.Close End Sub Private Sub CmdNext_Click() nextNum = nextNum + 1 'MsgBox nextNum If nextNum > rsNum - 1 Then nextNum = 0 'MsgBox nextNum End If Dim temp As Integer temp = nextNum Set rs = New ADODB.Recordset rs.Open "pic", conn, 0, 1 ' rs.MoveFirst ' While Not rs.EOF And temp > 0 ' 'rs.MoveNext ' 'temp = temp - 1' ' Wend rs.Move (temp) str = App.Path + "\" str = str + rs.Fields("address").Value cbPic.Text = rs.Fields("name").Value Image1.Picture = LoadPicture(str) rs.Close End Sub Private Sub Form_Load() Call conDB str = App.Path + "\" nextNum = 0 Set rs = New ADODB.Recordset rs.Open "pic", conn, 0, 1 str = str + rs.Fields("address").Value Image1.Picture = LoadPicture(str) cbPic.Clear rsNum = 0 'MsgBox rsNum rs.MoveFirst While Not rs.EOF cbPic.AddItem rs.Fields("name") rsNum = rsNum + 1 rs.MoveNext Wend cbPic.Text = "tu1" rs.Close End Sub