佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1297|回复: 5

VB 的Vscrollbar要怎样用呢?!!<很急!要教了>求求高手帮帮忙

[复制链接]
发表于 8-11-2005 04:37 PM | 显示全部楼层 |阅读模式
以下的是我的图,怎样才可以让scroll可以scroll呢?
我不知道要怎样用scrollbar,我只是放在那里而已。。。
请高手指点。。


[ 本帖最后由 Luckyghost 于 17-11-2005 05:48 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 17-11-2005 03:20 PM | 显示全部楼层
have some 1 help me ...i m really need the code.....
回复

使用道具 举报

 楼主| 发表于 17-11-2005 05:50 PM | 显示全部楼层
以下这段是我找到的,但是试过改了都不能。。。不知道要怎样了。。
  1. Private Sub InitializeMyScrollBar()
  2.     ' Create and initialize a VScrollBar.
  3.     Dim vScrollBar1 As New VScrollBar()
  4.    
  5.     ' Dock the scroll bar to the right side of the form.
  6.     vScrollBar1.Dock = DockStyle.Right
  7.    
  8.     ' Add the scroll bar to the form.
  9.     Controls.Add(vScrollBar1)
  10. End Sub

复制代码
回复

使用道具 举报

发表于 17-11-2005 09:34 PM | 显示全部楼层
你是用vb6还是vb.net。

如果你是用vb.net的话,那么就很容易了。不需要自己manual做scrollbar。
只需设定autoscroll的property去true就可以了。当你的picture box,checkbox之类的control超出form的范围之后,vb.net会自动把scrollbar加在form里。

如果我没弄错,你好像是用vb6的。但你post上来的coding却是.net,在vb6是行不通的。
自己作scrollbar并不是容易的事,你要有这个心理准备。
回复

使用道具 举报

发表于 17-11-2005 10:48 PM | 显示全部楼层
我教你一个比较简单,容易的方法。

首先,假设你有六个picturebox,有四个看得到,两个看不到。那么你就需要把两个picturebox移上,才可以看到第五和第六个picturebox。

那么,你就在scrollbar里的min设0,max设2
smallchange和largechange设1,表示你按一次就移动一个picturebox。

接下来就是调整位置和隐藏你的picturebox。
你的scrollbar每按一次,它的value就会加一或减一。

value=1时,你就需要把第二个picture移去第一个的位置,第三去第二,由此类推,再把第一的picture隐藏起来。

value=2时,你就需要把第三移动去第一的位置........,再把第一和第二隐藏起来。
回复

使用道具 举报

发表于 17-11-2005 11:06 PM | 显示全部楼层
我post上一个example给你,如何去简化改进就要靠你自己了。

Option Explicit

Dim y1 As Integer
Dim y2 As Integer
Dim y3 As Integer
Dim y4 As Integer
Dim y5 As Integer
Dim y6 As Integer

Dim MoveValue As Integer

Private Sub Form_Load()

y1 = 300
y2 = 1500
y3 = 2700
y4 = 3900
y5 = 5100
y6 = 6300

MoveValue = y2 - y1 '= y3 - y2 = y4 - y3

Picture1.Top = y1
Picture2.Top = y2
Picture3.Top = y3
Picture4.Top = y4
Picture5.Top = y5
Picture6.Top = y6

VScroll1.Min = 0
VScroll1.Max = 2
VScroll1.Value = 0

End Sub

Private Sub Reposition()

Dim ScrollValue As Long
Dim i As Integer, j As Integer
Dim ControlName As String

ScrollValue = VScroll1.Value * MoveValue

Picture1.Top = y1 - ScrollValue
Picture2.Top = y2 - ScrollValue
Picture3.Top = y3 - ScrollValue
Picture4.Top = y4 - ScrollValue
Picture5.Top = y5 - ScrollValue
Picture6.Top = y6 - ScrollValue

'The following part is used to hide or show the unused
'picturebox
For i = 1 To 2
   ControlName = "Picture" & i
   Me.Controls(ControlName).Visible = i > VScroll1.Value
Next

End Sub

Private Sub VScroll1_Change()
Reposition
End Sub
回复

使用道具 举报

Follow Us
您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 11-11-2024 06:28 AM , Processed in 0.093042 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表