[VB.NET]控制图形移动

前端之家收集整理的这篇文章主要介绍了[VB.NET]控制图形移动前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
控制图形移动

实例说明

在本实例中,我们将使用VScrollBar控件和HScrollBar控件来控制图片的移动,我们还可以设置移动的间距大小。程序运行结果如图56-1所示。

图56-1 运行结果

技术要点

l 控制图片移动

l 直接拖动图片

l 更改ScrollBar控件的移动间距大小

实现过程

■ 新建项目

打开Visual Studio.NET,选择"新建项目",在项目类型窗口中选择"Visual Basic项目",在模板窗口中选择"Windows应用程序",在名称域中输入"ScrollBarCtl",然后选择保存路径。单击"确认"。

添加控件

向当前窗体上添加一个GroupBox控件,在GroupBox控件上放置六个Label控件和两个ComboBox控件;然后再添加一个Picture控件,一个VScrollBar控件和一个HScrollBar控件和六个Label控件。按照图56-1的运行结果排列好位置。

■ 设置属性

对窗体上的控件进行属性设置。详细情况如表56-1所示。

表56-1 窗体各控件的属性

窗体/控件 属性

PictureBox Picture Human.jpg

ComboBox1 Items 1,2,3,4,5

ComboBox1 Itmes 5,10,20,50

其余控件 Text 跟界面一致

添加代码

由于空间有限,我们仅列出主要代码,其余代码请看光盘。

' 水平滚动条移动时,改变图片的位置

Private Sub HScrollBar1_Scroll(ByVal sender As System.Object,ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll

label11.Text = HScrollBar1.Value.ToString()

hAbsPos = CSng(HScrollBar1.Value - HScrollBar1.Minimum)

pictureBox1.Left = HScrollBar1.Right - CInt(hScrollMultiplier * hAbsPos) - pictureBox1.Width

End Sub

' 更改大间距移动的值

Private Sub comboBox1_SelectedIndexChanged(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles comboBox1.SelectedIndexChanged

VScrollBar1.LargeChange = Convert.ToInt16(comboBox1.SelectedItem.ToString())

HScrollBar1.LargeChange = Convert.ToInt16(comboBox1.SelectedItem.ToString())

label11.Text = HScrollBar1.Value.ToString()

label12.Text = VScrollBar1.Value.ToString()

End Sub

' 更改小间距移动的值

Private Sub comboBox2_SelectedIndexChanged(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles comboBox2.SelectedIndexChanged

VScrollBar1.SmallChange = Convert.ToInt16(comboBox2.SelectedItem.ToString())

HScrollBar1.SmallChange = Convert.ToInt16(comboBox2.SelectedItem.ToString())

label11.Text = HScrollBar1.Value.ToString()

label12.Text = VScrollBar1.Value.ToString()

End Sub

' 直接拖动图片

Private Sub pictureBox1_MouseDown(ByVal sender As System.Object,ByVal e As System.Windows.Forms.MouseEventArgs) Handles pictureBox1.MouseDown

dragging = True

' (e.x,e.y) 表示光标相对于图片位置的相对坐标。我们需要将这个值保存下来

oldX = e.X

oldY = e.Y

End Sub

■ 运行程序

单击菜单"调试|启动"或单击 图标运行程序。

小结

本实例通过使用ScrollBar控件来控制图片显示,这在我们要显示图片时是很有必要的。通过对本实例的学习,读者能够掌握ScroollBar控件的基本使用方法

猜你在找的VB相关文章