[VB.NET]图片浏览器
来源:互联网 发布:linux 更改home空间 编辑:程序博客网 时间:2024/05/01 20:03
实例说明
在本实例中,我们将创建一个能够浏览图片内容的应用程序。当选中所要显示的图片文件名时,应用程序就会显示出图片的内容。运行结果如图66-1所示。
<script type="text/javascript"><!--google_ad_client = "pub-8333940862668978";/* 728x90, 创建于 08-11-30 */google_ad_slot = "4485230109";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>图66-1 运行结果
技术要点
l 过滤图片文件
l 文件管理控件的使用(Drive,List,File控件)
l 滚动条的使用
l 缩放图片
实现步骤
■ 新建项目
打开Visual Studio.NET,选择"新建项目",在项目类型窗口中选择"Visual Basic项目",在模板窗口中选择"Windows应用程序",在名称域中输入"PicViewer",然后选择保存路径。单击"确认"。
■ 添加控件
向当前窗体上添加一个DriveListBox控件,一个DirListBox控件,一个FileListBox控件,用来确定图形文件的位置。另外添加两个Picture控件,用于控制图形的显示。另外是一个CheckBox用于控制是否按照控件大小缩放图形,一个Button按钮用来退出程序。还需要添加一个HscrollBar控件和一个VscrollBar控件,当图片不缩放时,且图片大小超出显示区域时,则HscrollBar控件和VscrollBar控件可用。
■ 设置属性
切换到"属性栏",对控件进行属性设置,详细情况见表66-1。
表66-1 控件属性值
窗体/控件 属性 值
Check1 Value 1-Checked
VscrollBar1 Name vsc
HscrollBar1 Name hsc
Picture1 Name Picview
Button1 Text 退出
Picture11 Sizemode StretchImage
■ 添加代码
'是否缩放图形
Private Sub Check1_CheckStateChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Check1.CheckStateChanged
If Check1.CheckState Then
'如果是,则需要重新设置Image控件的大小,否则不能正确显示
Image1.Left = 0
Image1.Top = 0
Image1.Height = picview.Height - 10
Image1.Width = picview.Width - 10
'设置缩放属性为真
Image1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
ShowPic()
Else
Image1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Normal
ShowPic()
End If
End Sub
'退出应用程序
Private Sub Button1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Button1.Click
Me.Close()
End Sub
'当目录改变时,文件显示也作相应的改变
Private Sub Dir1_Change(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Dir1.Change
File1.Path = Dir1.Path
'如果有图片的话,则显示第一个图片
If File1.FileName = "" Then
Exit Sub
Else
picview.BackgroundImage = System.Drawing.Image.FromFile("")
End If
End Sub
'当驱动器改变时,目录作相应的改变
Private Sub Drive1_SelectedIndexChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Drive1.SelectedIndexChanged
Dir1.Path = Drive1.Drive
End Sub
'单击文件时,显示图片
Private Sub File1_SelectedIndexChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles File1.SelectedIndexChanged
ShowPic()
End Sub
Sub ShowPic()
'如果没有图片,则退出
If File1.FileName = "" Then
Exit Sub
End If
Image1.Image = System.Drawing.Image.FromFile(File1.Path & "/" & File1.FileName)
'将图片的高和宽与picview的高和宽进行比较,如果都小于,则不显示滚动条
If Image1.Width > picview.Width Then
'如果宽大于picview的宽,则显示水平滚动条
Image1.Left = 0
hsc.Visible = True
hsc.Value = 0
hsc.Maximum = Image1.Width - picview.Width + hsc.LargeChange - 1
hsc.SmallChange = Image1.Width / 20
hsc.LargeChange = Image1.Width / 10
Else
Image1.Left = (picview.Width - Image1.Width) / 2
hsc.Visible = False
End If
'如果高大于picview的高,则显示垂直滚动条
If VB6.PixelsToTwipsY(Image1.Height) > VB6.PixelsToTwipsY(picview.Height) Then
Image1.Top = VB6.TwipsToPixelsY(0)
vsc.Visible = True
vsc.Value = 0
vsc.Maximum = Image1.Height - picview.Height + vsc.LargeChange - 1
vsc.SmallChange = Image1.Height / 20
vsc.LargeChange = Image1.Height / 10
Else
Image1.Top = (picview.Height - Image1.Height) / 2
vsc.Visible = False
End If
End Sub
'横向移动滚动条
Private Sub hsc_Scroll(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.ScrollEventArgs) Handles hsc.Scroll
Select Case eventArgs.Type
Case System.Windows.Forms.ScrollEventType.EndScroll
Image1.Left = eventArgs.NewValue
End Select
End Sub
'纵向移动滚动条
Private Sub vsc_Scroll(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.ScrollEventArgs) Handles vsc.Scroll
Select Case eventArgs.Type
Case System.Windows.Forms.ScrollEventType.EndScroll
Image1.Top = eventArgs.NewValue
End Select
End Sub
■ 运行程序
单击菜单"调试|启动"或单击 图标运行程序。
小结
通过本实例,我们掌握了文件管理控件的使用方法和设置文件列表框过滤文件的方法。并通过滚动条来实现大图浏览,达到浏览全图的目的。同时,我们也设置一个缩放图形的选项,可以使图形的大小适应控件的大小,从而更方便使用。
- [VB.NET]图片浏览器
- VB制作图片浏览器
- 浏览器vb.net
- vb.net 合并图片
- 图片剪切 vb.net
- VB.NET合并图片
- VB.NET合并图片
- VB.NET,PDF图片表示
- vb.net Access 读写图片
- 详解VB.NET对象浏览器作用体现
- 详解VB.NET对象浏览器作用体现
- 详解VB.NET对象浏览器作用体现
- vb.net 存取数据库中的图片
- VB.NET中制作图片按钮
- ASP.NET(VB) 图片验证码
- VB.net将图片导入到Excel
- ASP.NET(VB) 图片验证码
- vb.net 存取数据库中的图片
- Rails for Java Developers [ILLUSTRATED]
- [VB.NET]小闹钟
- 这个冬天不太冷
- [VB.NET]显示鼠标位置
- Mastering TypoScript: Typo3 Website, Template, and Extension Development
- [VB.NET]图片浏览器
- FORM表单
- [VB.NET]读写INI文件
- LINQ: The Future of Data Access in C# 3.0
- [VB.NET]读写注册表
- [VB.NET] 文件查询系统
- 怎么判断数据库中的某条日期的数据为某月的第一条信息
- [VB.NET]发布应用程序
- Pluggable Authentication Modules: The Definitive Guide to PAM for Linux SysAdmins and C Developers