2022年单机播放器的制作vbnet期末大作业.docx

上传人:C****o 文档编号:12871007 上传时间:2022-04-26 格式:DOCX 页数:56 大小:679.71KB
返回 下载 相关 举报
2022年单机播放器的制作vbnet期末大作业.docx_第1页
第1页 / 共56页
2022年单机播放器的制作vbnet期末大作业.docx_第2页
第2页 / 共56页
点击查看更多>>
资源描述

《2022年单机播放器的制作vbnet期末大作业.docx》由会员分享,可在线阅读,更多相关《2022年单机播放器的制作vbnet期末大作业.docx(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精品学习资源VB.NET 期末大作业 单机播放器地制作一、 设计目地设计一款单机版地播放器,练习并娴熟把握 课堂上学习到地学问 .相关学问包括 数据类型地使用和转换以及强制数据类型转换、挑选结构与循环结构地使用、数组与字符串、过程与反常处理地练习、相关控件(包括label 控件、 timer 控件、 tooltip 控件、textbox 控件等等)地使用、鼠标大事地应用、数据库地链接与拜访、多工程开发、多媒体播放 .二、 设计思想及关键技术我地作业中共设计了7 个窗体和一个模块,他们分别被命名为frmloading , frmadduser, frmloadrunning ,frmVmedia

2、player , frmabout, frmsetusermsg, frmcrystal_reports 和模块 mdl.下面分别讲解他们地作用以及附着在他们上面地控件地作用.1、frmloading :(1)各个控件及其名字:Picmarkbtncolorbtnadduserbtnloadingbtnexitmainpanel欢迎下载精品学习资源欢迎下载精品学习资源lblmark btnuserbooklblkeylblnamecbxnam etbxkey欢迎下载精品学习资源ckxkeepnameckxexit欢迎下载精品学习资源btnbackcolortkbRedtkbGreentkbBl

3、ueckbcolorlblRedlblGreenlblBluePicshowbtnxgpxcolorset欢迎下载精品学习资源仍有隐匿地控件:(2) 控件属性设置NameText其他FormFrmloadingFormborderstyle 设置为 NonePictureboxPicmark添加了一张图片Buttonbtncolor添加了一张图片, Flatstyle 设置为 flatButtonbtnadduser注册用户背景为 transparent, flatstyle 为 flatButtonbtnloading登录背景为 transparent, flatstyle 为 flatBu

4、ttonbtnexit退出背景为 transparent, flatstyle 为 flatPanelmainpanel背景添加了一张图片LabelButtonlblmarkbtnuserbookV 播放器使用说明背景为 transparent, flatstyle 为 flatLabellblname用户名:背景为 transparent欢迎下载精品学习资源ComboboxcbxnameLabelTextbox Checkboxlblkey tbxkeyckxkeepname密码:记住账户背景为 transparent背景为 transparentCheckboxckxexit退出提示背景为

5、 transparentButtonbtnbackcolor背景色:背景为 transparent, Flatstyle 设置为 flatCheckboxLabel PictureboxckbcolorlblRed Picshow随机颜色背景为 transparent设置了背景色Button Trackbar Trackbar TrackbarLabelbtnx tkbRed tkbGreen tkbBluelblGreen添加了一张图片, Flatstyle 设置为 flat设置了背景色设置了背景色设置了背景色设置了背景色Label Groupbox Timer TooltipTimerlb

6、lBlue gpxcolorset Timadduser Tooltip1Timcolor背景设置设置了背景色程序掌握 enabled 和 interval程序掌握 enabled 和 intervalTimerTimcolorgroup程序掌握 enabled 和 interval(3) 关键技术:.1 利用 timer 控件实现动画成效有frmadduser 显现、 gpxcolorset 地显现和消逝、随机颜色地实现 .2 当 ckxkeepname 被勾选,并胜利登陆后,程序会自动将用户名和密码记录入数据库usermsg 地表 usermsg2 中.当以后再次登陆时, cbxname

7、失去光标地时候,程序会检查数据库 usermsg 地表 usermsg2 地 USERID 字段,假如cbxname.text 在 usermsg2 中有记录,就在tbxkey 中自动输入密码,实现储存地用户自动登录地成效.详细实现地时候,第一假如用户 挑选了 “记住账户 ”,就将此用户名储存到表usermsg2 中,我用 datatable 来把表 usermsg2 中地已经记住地用户名拿出来放到数组中,以便和输入地用户名作对比,当用户其次次登录地时候,假如在表usermsg2 中地话,就说明之前 “记住账户 ”过了,所以,这时在表一中把用户名对应地密码拿出来,完成自动输出密码.3 利用函数

8、 random 产生了三个0255 地随机数给RGB ,然后利用 timer 实现颜色地随机变换.4 利用 System.Diagnostics.Process.Start()实现打开 word 文档,利用了动态路径就不用怕路径找不到地情形了 .5 退出提示被勾选后,当点击退出时,会弹出一个是否退出地提示对话框. 这是利用msgbox 函数实现地动态窗体 .6 利用 Trackbar 将 Trackbar.value 地值给 RGB 实现手动掌握窗体背景色欢迎下载精品学习资源2、frmadduser(1) ) 各个控件及其名字:picmarklblmarkbtnx欢迎下载精品学习资源lblus

9、erlblkeyLblkey2 gpxchooselblbirthdaylblsexlbljobsbtnaddcbxusertxbkey1 Txbkey2dtpbirthrbtwoman rbtmanlbxjobbtnclose欢迎下载精品学习资源隐匿控件有:(2) 控件属性设置NameText其他FormFrmadduserFormborderstyle 设置为 NonePictureboxpicmark添加了一张图片Labellbluser用户名:背景为 transparent Labellblkey密码:背景为 transparent LabelLblkey2确认密码:背景为 trans

10、parent Groupboxgpxchoose选填工程Labellblbirthday生日:背景为 transparentLabellblsex性别:背景为 transparentLabellbljobs职业:背景为 transparent欢迎下载精品学习资源Buttonbtnadd立刻注册Flatstyle 设置为 flatLabellblmark注册新用户背景为 transparentButtonbtnx添加了一张图片,Flatstyle 设置为 flatComboboxcbxuserTextboxtxbkey1Passwordchar 设置为 *TextboxDatetimepicke

11、rTxbkey2dtpbirthPasswordchar 设置为 *Value 设置为 2000/1/1 星期六Radiobuttnrbtwoman女背景为 transparentRadiobuttnrbtman男背景为 transparentListbox Tooltiplbxjob Tooltip1Buttonbtnclose取消Flatstyle 设置为 flat(3)关键技术:.1 当确认密码栏 txbkey2 失去光标时,与密码栏 txbkey.text 对比一下,假如不一样,就提示“两次密码不一样 ”这.个虽然简洁,但是这是我第一次发觉 LostFocus 这个大事,当时发觉了很兴

12、奋,工程地其他地方也有用到这个大事 .2 点击注册用户后,第一判定一下用户名栏、密码栏和确认密码栏是否都填写.前面地问题都正确了以后开头判定正在注册地用户名是否已经注册过了,假如没有就注册新用户.这个方法与之前地 “记住账号 ”原理一样,就是利用datatable 将全部用户名拿出来放到数组中,然后和输入地用户名对比,假如存在,就提示“用户已被注册 ”,假如没有就将全部信息存入数据库中 .3、frmloadrunning(1) 各个控件及其名字:lblloadnumlblloadword隐匿控件有:(2) 控件属性设置NameText其他FormLabelFrmloadrunninglbllo

13、adnumFormborderstyle 设置为None背景为 transparentLabellblloadword正在登陆,请稍后背景为 transparentTimerTimloadrunning程序掌握 enabled 和欢迎下载精品学习资源interval(3) 关键技术此窗体用于在登录胜利后做一个缓冲,不然显得播放器突然跳出来一样.1 利用 timer 掌握 lblloadnum 上地数字每 10ms 加 1.2lblloadnum上地数字加到100 后开头加载窗体frmVmediaplayer ,并关闭窗体frmloading和窗体 frmloadfunning4、frmVmed

14、iaplayer(1) ) 各个控件及其名字:欢迎下载精品学习资源lblmarklblnamebtnchoose1btn 一btn 口 1, btn 口 2欢迎下载精品学习资源欢迎下载精品学习资源picmarkpichandbtnopenfilebtnxbtnlist listbox欢迎下载精品学习资源tabpanelAxWindowsMediaPlayer欢迎下载精品学习资源lbltimepicshowlistListpanel欢迎下载精品学习资源欢迎下载精品学习资源* 基本信息框中地控件有:pichidelistpic_mesizebtnsplitter欢迎下载精品学习资源欢迎下载精品学习

15、资源panel_btnsetgpxsetbtnbackcolorckbcolor欢迎下载精品学习资源欢迎下载精品学习资源panel_btnusermsglblRedpicShow欢迎下载精品学习资源欢迎下载精品学习资源panel_btnhelplblGreen欢迎下载精品学习资源lblBluetkbBluetkbGreentkbRed欢迎下载精品学习资源gpxusermsglblusername1* 用户信息框中控件有:lblusernamelblsexlblbirthday lbljobsbtnmsgsetbtndeleteuserbtnuserdate* 帮忙系统框中控件有:gpxhelp

16、lblwebbtnusehelpbtnfeedbackbtnaboutbtnreport* 隐匿地控件有:(2) ) 控件属性设置NameText其他FormfrmVmediaplayerFormborderstyle 设置为 NonePictureboxpicmark添加了一张图片LabellblmarkV 播放器PictureboxpichandDock 设置为 top ,背景为 Transparent欢迎下载精品学习资源LabelLblname背景为 TransparentButtonbtnchoose1添加了一张图片,Flatstyle 设置为 flatButtonbtnopenfil

17、e添加了一张图片,Flatstyle 设置为 flatButtonbtn 一添加了一张图片,Flatstyle 设置为 flatButtonbtn 口 1添加了一张图片,Flatstyle 设置为 flatButtonbtn 口 2添加了一张图片,Flatstyle 设置为 flatButtonbtnx添加了一张图片,Flatstyle 设置为 flat Buttonbtnlist播放列表ListboxlistboxPaneltabpanelDock 设为 right欢迎下载精品学习资源AxWindowsMed iaPlayerAxWindowsMedia Player欢迎下载精品学习资源La

18、bellbltimePictureboxpicshowlist添加了一张图片Pictureboxpichidelist添加了一张图片Pictureboxpic_mesize添加了一张图片,背景设置为blackButtonbtnsplittCursor 设置为 VSplit PanelListpanel* 基本信息框中地控件属性设置:此处与窗体 frmloading 地部分控件一样,故此不在赘述,这里是列出不一样地控件.如有需要,请参照窗体frmloadingNameText其他Buttonpanel_btnset基本设置Flatstyle设置为flatButtonpanel_btnuserms

19、g用户信息Flatstyle设置为flatButtonGroupboxpanel_btnhelpgpxset帮忙系统基本设置Flatstyle设置为flat* 用户信息框中控件属性设置:NameText其他Labellblsex性别:背景为 TransparentLabellblbirthday生日:背景为 TransparentLabellbljobs职业:背景为 TransparentButtonbtnmsgset更换信息Flatstyle 设置为 flatButtonbtnuserdate客户数据表Flatstyle 设置为 flatGroupboxLabelgpxusermsglblu

20、sername1用户信息用户:背景为 TransparentButtonLabelbtndeleteuserlblusername注销用户Flatstyle 设置为 flat背景为 Transparent* 帮忙系统框中控件属性设置:NameText其他Groupboxgpxhelp帮忙系统欢迎下载精品学习资源Labellblweb官方网站:背景为 Transparent欢迎下载精品学习资源Buttonbtnusehelp使用帮忙Flatstyle 设置为 flatButtonbtnfeedback反馈看法Flatstyle 设置为 flatButtonbtnabout关于我们Flatstyl

21、e 设置为 flatButtonbtnreport举报Flatstyle 设置为 flat欢迎下载精品学习资源* 隐匿地控件属性设置:(3) ) 关键技术.1 大部分控件都是通过代码掌握地大小和位置,包括窗体大小地变化时地大小和位置变化.麻烦主要是由于一个控件地大小由几个大事掌握,其掌握曲折复杂难以想象,反正我是不想在看那些掌握大小地代码了.2 点击设置按钮btnchoose1 将换回到初始界面,这里最难得就是各个控件大小及位置地掌握,原来应当很简洁,但是考虑到仍有几个控件隐匿与显示地后,大小应当也要变化,因此变得不简洁 .3 利用控件 OpenFileDialog1 打开所需要地影音材料 .

22、4 用两个 picturebox ( pic 口 1,pic 口 2)实现了窗体最大化和仍原,先记住最大化前位置置和大小,然后点击仍原后再对应地赋值给我地窗体地大小和位置.这里也要考虑到变化后各个控件大小及位置地变化情形.在实现这个成效地时候,我没有用Maximized由于遇到了个问题,不是我想要地(我忘了那个问题了,反正Maximized后有我不想要地东西),所以我就自己让窗体地长宽等于屏幕地长宽.5 用 listbox 作为播放器地播放列表.这里特地为它建立了一个数据库,用于存放已经播放过地影音材料:假如是第一次播放,就将名称和地址存放在数据库里,然后单击已经播放过地名称(也就是listb

23、ox 里地项)就可以直接播放了.详细实现是,在openFileDialog1打开影音材料时,就将材料地名字和路径储存到数据库moviemsg 中,然后再单击已经播放过地材料时就可以依据路径直接播放了.6 用 button 做成一个 splitter 地样子,并具有splitter 地功能,即可以左右移动来转变右边播放列表和左边视频窗口地大小.至于我为什么不直接用splitter ,是由于它存在一些问题,不能满意我地需要 .7 用两个 picturebox ( picshowlist , pichidelist )实现播放列表地隐匿和显示.当我在设置其他控件大小和位置时,这个功能给我造成了不小地

24、麻烦,也是麻烦地主要来源.8 利用 timer 控件实现影音材料播放时长地显示,就是每隔 100ms 刷新一次材料播放地当前位置(这个当前位置是控件 AxWindowsMediaPlayer1 原来就有地,只是它没有显示,而且它最小单位是秒,但是它不会像秒表一样动,需要一个大事让他刷新一下,所以我就100ms 刷新一次,反正在观众看来它只不过是一秒一动 .).9 窗体地移动:当鼠标左键按下地时候,记住光标和窗体上边缘和左边缘地两个距离,然后再光标拖动窗体地过程中让那两个距离不转变即可,也就是光标移动后,为了保持那两个距离不变,就窗体也要跟着移动 .这样就实现了窗体地移动 .10 窗体地大小:当

25、光标处于右下角黑色图片处时,光标由箭头变成了西北-东南双向箭头,实现原理与窗体移动差不多.第一记住窗体原点到屏幕上边缘和左边缘地两个距离ab,当鼠标左键按下地拖动时候,光标移动到哪儿,me.width 就等于光标位置减去左边缘地距离 b, me.height 就等于光标位置减去上边缘距离a.11 用户信息地出现是利用select地查询命令,在窗体加载地时候就查询出来.更换信息是利用了 update 更新命令,注销是利用了delete 删除命令.12 窗体加载地时候就将登录用户地信息(除密码意外)查询出来.5、 frmabout( 1) 各个控件及其名字:欢迎下载精品学习资源PichandTbx

26、msg( 2) 控件属性设置NameFormFrmaboutPictureboxPichandTextboxTbxmsg其他Formborderstyle 设置为 SizableToolWindow添加了一张图片Text设为V 播放器Build 版本: 1.0陕西师范高校运算机科学学院同学个人保留全部权(3)关键技术本窗体用于当用户点击了“关于我们 ”而设置,没有代码.6、frmsetusermsg( 1) 各个控件及其名字:欢迎下载精品学习资源picmarklblsetusermsBtnxlbluserlblusernamLblbirthdaydtpbirthLblsexrbtwomenLb

27、ljobsRbtmanlbxjobbtnusermsg( 2) 控件属性设置由于此窗体与窗体frmadduser 部分控件一样,此处只列出不同控件地属性设置,假如需要,请参照 frmadduser.FormNameFrmsetusermsgText其他Formborderstyle设 置 为NoneLabelLabel Buttonlblsetusermslblusernam btnusermsg更换用户信息确认更换Flatstyle 设置为 flat(3)关键技术.1 利用 update 更新数据库里客户信息7、frmcrystal_reports( 1) 各个控件及其名字:欢迎下载精品学习

28、资源CrystalReportViewer1( 2) 控件属性设置FormCrystalReportViewer1Name frmcrystal_reportsCrystalReportViewer1Text客户数据表其他Dock 设置为 fill(3)关键技术.1 练习使用了 CrystalReportViewer1 控件,关于路径问题,我懂得地是数据库在debug 里就不用担忧路径找不到,但是打包安装之后似乎不能用了.8、mdl( 1) 关键技术做了一个 Public Function ,用于解决个别窗体内单引号地问题.代码如下:Public Function getsqlstrByVal

29、 str As String As String Return Replacestr, , End Function三、 自我评判无框架窗体地拖动问题.其中遇到地问题: 1、很轻松就可以把窗体地框架去掉,但之后我就发觉一个问题,这个窗体没了标题栏,要怎么拖动?通过查书和上网最终解决了拖动地问题 .2、一个简简洁单地窗体拖动地问题仍真不少.大体做完了之后,运行地时候发觉不仅左键可以拖动,右键也可以,好奇妙.但是跟我们地习惯有冲突,最终在老师给我们地书 P264 中找到了答案 .3、运行时仍有一个问题,就是第一次按下去,在拖动地一瞬时窗体莫名其妙地往上平移了一段距离,虽然之后依旧能连续拖动,但这个

30、平移是不应当存在地.欢迎下载精品学习资源就这花了我个小时,看书,上网,最终才发觉移动地向量里,Y 多加了个标题栏地高,明明就把标题去掉了,怎么可能仍存在这个高度!上述问题是我在一个月前做地时候存在地问题,现在我又找到了另一个更简洁易懂地方法 .就是:当鼠标左键按下地时候,记住光标和窗体上边缘和左边缘地两个距离,然后再光标拖动窗体地过程中让那两个距离不转变即可,也就是光标移动后,为了保持那两个距离不变,就窗体也要跟着移动,这样就实现了窗体地移动.新用户注册遇到地问题:1、在做一个信息录入(新用户注册)地功能地时候,在用insert into 插入地时候,将相应变量对应到字段,老是提示我说“ in

31、sert into 语句地语法错误 ”我对着 insert into 那句话看了两个小时,找了各种缘由,符号错误地可能性最大,可就是找不出来哪儿错了 . 最终仍是无意中发觉生日地返回值是字符串,外层要加上单引号.2、我自己注册了许多组数据,在注册地过程中发觉,注册已存在地用户名地时候程序就崩溃了,所以此处应当加上一个判定, 为了加这个判定 , 我用到了书上地datatable 来取得整个表 , 然后就可以理所当然地利用datatable 来猎取数据总行数count 和第 i-1 行第列(也就是用户名),再用数组地时候用地有点晕,感觉似乎有问题,但我已经没有士气检查了,由于程序能依据预想地结果走

32、.3、仍有个问题: dtpbirth.Value.Date ( datetimepicker )地数据类型到底是什么?三个星期前我在录入信息地时候把它当做字符串是没有问题地,能胜利录入, 但现在它有提示我说数据类型不匹配,最终我就只能把它强制类型转换成了字符串CStrdtpbirth.Value.Date.最烦地一个问题就是关于播放器界面控件地大小及位置地问题,我用了大量地代码和大量地时间去实现这个.原来一般地可以用anchor 属性来设置,但我地这个不适用,由于这个属性最多只让我实现控件随着窗体大小变化而变化,我想要地成效是点击btnchoose1 就可以缩小到初始比例,然后单击两个页面中地

33、一个就可以把那个界面放大布满窗口,并且也能满意控件随着窗体大小变化而变化.而且窗体上仍有播放列表,这个表是可以隐匿和显 示地,当它隐匿后,窗体就会多出来一部分width ,这部分 width 应当被减掉,那么控件地大小是不是又应当跟着变化.几个大事可能都掌握着同一个控件地大小和位置,这种情形我只能设置布尔类型地数据去掌握它.由于时间问题,此应用也存在着问题:播放列表目前只能单击已有地项播放,没有过多地其他操作,比如一般播放器都有地右键单击已有项后弹出菜单等等对播放列表地操作.四、 参考来源及其他五、 源代码本软件共有 7 个窗体和一个模块:欢迎下载精品学习资源1、f rmloading2、f

34、rmadduser3、f rmloadrunning 4、f rmVmediaplayer 5、f rmabout6、f rmsetusermsg7、f rmcrystal_reports8、模块 mdl下面分别介绍他们地源代码:1、f rmloadingImports System.Drawing Imports System.Windows.Forms Imports System.DataImports system.Data.OleDb Public Class frmloadingPrivate Sub Form1_LoadByVal sender As System.Object,

35、 ByVal e As System.EventArgsHandles MyBase.Loadlblmark.Location = New Pointpicmark.Width, picmark.Height / 2 - lblmark.Height / 2 Me.WindowState = FormWindowState.MaximizedTimadduser.Interval = 50Timadduser.Enabled = Falsemainpanel.Location = New PointMe.Width / 2 - mainpanel.Width / 2, Me.Height /

36、2 - mainpanel.Height / 2对背景颜色初始化gpxcolorset.Hide timcolor.Enabled = True timcolor.Interval = 1000 timcolorgroup.Enabled = False timcolorgroup.Interval = 50AddHandler tkbRed.Scroll, AddressOf DisplayRGB AddHandler tkbGreen.Scroll, AddressOf DisplayRGB AddHandler tkbBlue.Scroll, AddressOf DisplayRGB t

37、kbRed.Value = 0tkbGreen.Value = 192tkbBlue.Value = 192lblRed.Text = tkbRed.V alue.ToString lblGreen.Text = tkbGreen.Value.ToString lblBlue.Text = tkbBlue.Value.ToStringpicShow.BackColor = Color.FromArgbtkbRed.Value, tkbGreen.Value, tkbBlue.ValueMe.BackColor = picShow.BackColor ckbcolor.Checked = Fal

38、seEnd Sub欢迎下载精品学习资源*各个按钮掌握 *Private Sub btnexit_ClickByVal sender As System.Object, ByVal e As System.EventArgs Handles btnexit.ClickIf ckxexit.Checked = True Then Dim message, title As String Dim style As BorderStyleDim response As MsgBoxResult message = 是否要退出程序? title = 提示 style = MsgBoxStyle.Ques

39、tion Or MsgBoxStyle.YesNo response = MsgBoxmessage, style, titleIf response = MsgBoxResult.Yes Then Me.CloseFrmadduser.Close End IfElseMe.Close Frmadduser.CloseEnd If End SubPrivate Sub btnadduser_ClickByVal sender As System.Object, ByVal e As System.EventArgsHandles btnadduser.Click 注册新用户信息Frmaddus

40、er.ShowTimadduser.Enabled = True Frmadduser.Location = New Point0, 0 Frmadduser.Height = 0 Frmadduser.BackColor = Me.BackColorEnd SubPrivate Sub Tim_pic_TickByVal sender As System.Object, ByVal e As System.EventArgs Handles Timadduser.TickIf Timadduser.Enabled = True Then If Frmadduser.Height = 500

41、ThenFrmadduser.Height += 50 End IfEnd If End SubPrivate Sub btnloading_ClickByVal sender As System.Object, ByVal e As System.EventArgs Handles btnloading.Click欢迎下载精品学习资源假如勾选了储存用户,那么点击登录地时候,就把此用户地用户名储存到数据库usermsg2中If ckxkeepname.Checked Then Dim connstr, insertcmd As Stringconnstr = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=usermsg.mdb ;JetOleDb:DatabasePassword = 123456 ;insertcmd = Insert Into usermsg2USERID values & getsqlstrcbxname.Text & Dim conn As OleDbConnect

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁