专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VB Dotnet

怎么获取Panel控件滚动条的取值范围,小弟我发现拉到最下面时是负数

发布时间:2011-06-23 14:40:28 文章来源:www.iduyao.cn 采编人员:星星草
如何获取Panel控件滚动条的取值范围,我发现拉到最下面时是负数
本帖最后由 gzw1000 于 2012-11-20 21:31:19 编辑
Panel里放了一个PictureBox想实现用鼠标拖动看图片,想要用代码控制滚动条的位置
Vb.net 里Panel没有VerticalScroll这个对象
------解决方案--------------------
想让panel滚动,设置AutoScroll属性设置为 true,然后设置 Panel1.AutoScrollMinSize 为需要大小。panel就可以自动滚动了。要获取当前滚动位置Panel1.AutoScrollPosition 但这个位置是表示可滚动控件显示框的位置。负值表示远离原点方向滚动。详见msdn解释ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/fxref_system.windows.forms/html/933ee0ee-a537-edb0-653b-c0c8980b7aae.htm

下面给你一个 演示代码,需要一个按钮,一个panel ,一个picturebox 自己拖放到位置。
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        PictureBox1.SizeMode = PictureBoxSizeMode.AutoSize '设置picturebox为图像大小
        PictureBox1.Location = New Point(0, 0)
        Panel1.AutoScroll = True '启动滚动
    End Sub
    '加载图片
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim dlg As New OpenFileDialog
        With dlg
            If .ShowDialog = Windows.Forms.DialogResult.OK Then
                Try
                    PictureBox1.Image = Image.FromFile(.FileName) '加载图片
                    Panel1.AutoScrollMinSize = PictureBox1.Size '设置滚动范围

                Catch ex As Exception
                    MsgBox(ex.Message)
                End Try

            End If
        End With
    End Sub


    Private Sub Panel1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel1.Paint

    End Sub

    Private Sub Panel1_Scroll(ByVal sender As Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles Panel1.Scroll
        Me.Text = String.Format("演示picturebox滚动及滚到当前位置:{0}", New Point(0, 0) - Panel1.AutoScrollPosition)
    End Sub
End Class



已经测试,如果楼主看得行,就给50分奖励下吧
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: