[转].Net中的AutoScrollPosition问题 (panel 滚动条的位置设定)
来源:互联网 发布:微软雅黑字体 mac 编辑:程序博客网 时间:2024/04/19 12:16
本文转自: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赋值时,内部自动将数值前加了一个“负号”。
- .Net中的AutoScrollPosition问题 (panel 滚动条的位置设定)
- [转].Net中的AutoScrollPosition问题 (panel 滚动条的位置设定)
- [转].Net中的AutoScrollPosition问题 (panel 滚动条的位置设定)
- Panel AutoScrollPosition 的问题
- 设定最外层滚动条的位置
- 维护 Panel 滚动条位置
- 维护Panel的滚动条ScrollBars位置(C#)
- 维护Panel的滚动条ScrollBars位置(C#)
- 禁用Panel容器滚动条自动移动位置的功能
- grid panel 滚动条位置不变
- 保持滚动条位置的问题
- C#中的Panel滚动条控制
- 解决ASP.NET回传后div滚动条位置复位的问题
- panel picturebox panel 滚动条
- ExtJs Panel滚动条
- asp.net页面保持滚动条的位置
- ASP.NET中页面回传后保持滚动条的位置
- asp.net页面刷新后的滚动条位置不变
- 如何在网上获得顾客忠诚
- Redis源代码分析之三:散列表——Dict(下)
- servlet
- 藕斷絲連
- 著名漏洞扫描工具IBM Rational AppScan 7.8.0.2 - 简体中文版下载(含破解补...
- [转].Net中的AutoScrollPosition问题 (panel 滚动条的位置设定)
- poj 匈牙利二分匹配算法2239 Selecting Courses
- 经典类库
- 关于android 调用网页隐藏地址栏
- IBM 3630 M3 虚拟化笔录(vmware Esxi5.0及由此想到的流水帐)
- 在word文档中自动加上行号
- PHP中autoload的使用方法
- printf大部分参数详解
- 软文写作的几个技巧,灰常给力