[VB.NET]控制图形移动

来源:互联网 发布:剑三万花萝莉捏脸数据 编辑:程序博客网 时间:2024/04/28 06:14
控制图形移动

实例说明

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

图56-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>

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控件的基本使用方法。

原创粉丝点击