实例说明
在本实例中,我们将使用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控件的基本使用方法。
原文链接:https://www.f2er.com/vb/264332.html