zoukankan      html  css  js  c++  java
  • .Net中的AutoScrollPosition问题 (panel 滚动条的位置设定)

    本文转自:http://www.cnblogs.com/h2appy/archive/2008/04/23/1167400.html

    有Panel类型的窗体panel1,其AutoScroll设为了True。

    在使用AutoScrollPosition调整滚动条时出现了很混乱的现象,有时滚动条会自动滚动到起始处。

    经过试验,找到了原因:

    以调整水平滚动条为例。
    例子一:
    Point p = new Point(20, 0);
    panel1.AutoScrollPosition = p;
    上面两行代码使滚动条向右滚动了20个像素点;注意,此时的AutoScrollPosition的值是(-20, 0)!就是说
    AutoScrollPosition自动给20加了个“负号”。
    例子二:
    Point p = new Point(-20, 0);
    panel1.AutoScrollPosition = p;
    这两行代码使滚动条滚动到了起始处,因为-20前面再加一个“负号”就变成了正数20,而滚动条起始位置是0,
    越向右值越小(负数)。滚动条不能滚动到起始点左侧去,所以内部自动抛弃了20,取值为0。
    例子三:
    在使用AutoScrollPosition.X时也要注意它是非正数(0或负数),比如想在当前滚动条位置的基础上再向
    右滚动10个像素,应该:
    Point p = new Point(10 - panel1.AutoScrollPosition.X, 0);
    panel1.AutoScrollPosition = p;
    因为panel1.AutoScrollPosition.X是负数所以要用10减去panel1.AutoScrollPosition.X,使之变为正数。

    总之,在使用AutoScrollPosition时只要记得两点:
    1、水平滚动条起始点的AutoScrollPosition.X值为0,越往右值越小(负数)。
    2、通过Point类型的方式给AutoScrollPosition.X赋值时,内部自动将数值前加了一个“负号”。

  • 相关阅读:
    django-restframework使用
    django-xadmin使用
    python2.7.5升级到2.7.14或者直接升级到3.6.4
    mysql-5.7.25安装以及使用
    django1.9安装以及使用
    Algorithm negotiation failed
    ELK的搭建以及使用
    python 3.5 成功安装 scrapy 的步骤
    pandas基础-Python3
    C#命名规则和编码规范
  • 原文地址:https://www.cnblogs.com/KevinBran/p/10490101.html
Copyright © 2011-2022 走看看