`
googgoogle
  • 浏览: 65800 次
社区版块
存档分类
最新评论

[转].net中的autoscrollposition问题 (panel 滚动条的位置设定)

    博客分类:
  • java
阅读更多
    <p>本文转自:<font><a href="http://www.cnblogs.com/h2appy/archive/2008/04/23/1167400.html" target="_blank">http://www.cnblogs.com/h2appy/archive/2008/04/23/1167400.html</a></font></p><p>有panel类型的窗体panel1,其autoscroll设为了true。<br><br>在使用<font>autoscrollposition</font>调整滚动条时出现了很混乱的现象,有时滚动条会自动滚动到起始处。<br><br>经过试验,找到了原因:<br><br>以调整水平滚动条为例。<br><span style="color: red;"><strong>例子一:</strong></span><br>point p = new point(20, 0);<br><font>panel1.autoscrollposition = p;</font><br>上面两行代码使滚动条向右滚动了20个像素点;注意,此时的<font>autoscrollposition</font>的值是(-20, 0)!就是说<br><font>autoscrollposition自动给20</font>加了个“负号”。<br><span style="color: red;"><strong>例子二:</strong></span><br>point p = new point(-20, 0);<br><font>panel1.autoscrollposition = p;<br></font>这两行代码使滚动条滚动到了起始处,因为-20前面再加一个“负号”就变成了正数20,而滚动条起始位置是0,<br>越向右值越小(负数)。滚动条不能滚动到起始点左侧去,所以内部自动抛弃了20,取值为0。<br><span style="color: red;"><strong>例子三:</strong></span><br>在使用<font>autoscrollposition.x</font>时也要注意它是非正数(0或负数),比如想在当前滚动条位置的基础上再向<br>右滚动10个像素,应该:<br><font>point p = new point(10 - panel1.autoscrollposition.x, 0);<br>panel1.autoscrollposition = p;<br>因为<font>panel1.autoscrollposition.x是负数所以要用10减去<font>panel1.autoscrollposition.x,使之变为正数。<br><br></font><span style="color: red;"><strong>总之,在使用autoscrollposition时只要记得两点:</strong></span><br><span style="color: #808000;"><span style="color: #008080;">1、水平滚动条起始点的autoscrollposition.x值为0,越往右值越小(负数)。<br>2、通过point类型的方式给autoscrollposition.x赋值时,内部自动将数值前加了一个“负号”。<br></span></span></font></font></p> 
分享到:
评论

相关推荐

    vb.net做的滚动条的效果

    在VB.NET中,创建滚动条效果通常涉及到控件的使用,特别是`Label`控件或者自定义控件的动画效果实现。在这个特定的例子中,"滚动的数字"可能指的是一个模拟数字滚动显示的程序,这在信息展示、计数器或者时间显示等...

    Ext grid panel 滚动条位置不变

    通过上述方法,可以在Ext grid panel中实现实时数据刷新时滚动条位置不变的功能。这对于提高用户体验至关重要,尤其是在处理大量实时数据的情况下。开发者可以根据实际需求进一步优化代码,比如增加错误处理机制、...

    asp.net页面触发事件panel滚动条高度不变的实现方法

    此文是为解决asp.net页面按钮点击触发事件后panel滚动条非自动回到顶端的解决方案,对于页面触发一个事件后,panel滚动条重新回到顶端,做下面的工作每次都要往下拉一下,特别是选择TreeView的时候,这个问题非常...

    vb.net 将窗口显示成panel控件中

    在VB.NET编程中,将窗口显示在Panel控件中是一种常见的做法,这允许开发者实现多窗口切换的效果,尤其是在创建复杂的用户界面时。Panel控件在Windows Forms应用中扮演着容器的角色,可以用来组织和管理其他控件。在...

    panel自定义滚动条

    例如,可以调整`Panel`的`AutoScrollPosition`属性,使其根据滚动条的位置变化。 ```csharp private void vScrollBar1_Scroll(object sender, ScrollEventArgs e) { panel1.AutoScrollPosition = new Point(0, -...

    winform下带滚动条的panel

    现在这个小东西功能很简单,在panel中加入元素,超过panel范围有滚动条,对其中元素能够进行简单的添加、删除和定位(这里用到的是竖向的滚动条,所以用的是AutoScrollPosition.Y,横向的谁用到谁自己琢磨该是什么吧...

    SPDemo.rar【winfrom带美化滚动条panel】

    2. **测量与布局**:滚动条的大小和位置需要根据Panel的大小和内容动态调整,确保在任何时候都能有效工作。 3. **状态更新**:滚动条的视觉状态(如是否显示、是否可滚动等)需要实时更新,以反映Panel的实际内容和...

    用于asp.net的滚动条(ScrollBar)

    在ASP.NET开发中,滚动条(ScrollBar)是一个重要的交互元素,它允许用户浏览超过视口范围的内容。在网页设计和应用程序界面中,滚动条的合理使用可以极大地提升用户体验。本资源包提供了多种滚动条实现方式,适用于...

    C#利用API判断滚动条的位置

    在这个特定的案例中,“C#利用API判断滚动条的位置”指的是使用C#编程语言通过系统API获取滚动条的状态,并根据其位置执行相应操作。 滚动条通常在窗口或控件中使用,用于浏览超过可视区域的内容。在Windows API中...

    一个基于C#+ASP.NET实现的滚动条panel 控件源码及例子程序

    一个基于C#+ASP.NET实现的滚动条panel 控件源码及例子程序。

    C#自定义Panle垂直滚动条

    在这个场景中,"C#自定义Panel垂直滚动条"涉及到的是如何在Panel控件上添加并控制垂直滚动条,以实现对内容超出Panel可视区域时的滚动浏览。 Panel控件是Windows Forms中的一个容器控件,它可以包含其他控件,并...

    asp.net通过Ajax UpdatePanel回传后滚动条位置变更解决方法

    然而,在使用UpdatePanel时,一个常见的问题是在回传数据后,页面的滚动条位置会重置到顶部,这可能会打断用户的浏览流程。为了解决这个问题,我们可以采用以下策略: 首先,我们需要在页面中添加一个隐藏的控件...

    绘制圆角panel.net 制作圆角panel的源码

    在.NET框架中,`Panel`控件是一种常用的容器控件,用于组合其他控件或提供一个可自定义的背景和边框。然而,系统默认的`Panel`控件不具备绘制圆角的功能。为了实现圆角`Panel`,我们需要自定义一个控件类,并覆盖其`...

    C# winform 重绘滚动条

    在事件处理函数中,根据滚动条的状态更新滑块的位置,并重新绘制控件: ```csharp protected override void OnScroll(ScrollEventArgs se) { Invalidate(); // 触发重绘 base.OnScroll(se); } ``` 同时,为了...

    C#自定义垂直滚动条

    在上述代码中,我们监听ScrollBar的ValueChanged事件,当滑块位置改变时,将Panel的水平滚动位置设为0,垂直滚动位置设为滑块值的负数,这样可以实现内容的上下滚动。 为了实现“仅有滑块”的样式,我们可以隐藏...

    C# WinForm中Panel实现用鼠标操作滚动条的实例方法

    在C# WinForm开发中,有时我们需要在Panel控件中实现鼠标滚轮操作来控制内容的滚动。然而,Panel控件本身并不直接支持鼠标滚轮滚动事件,因此我们需要通过一些技巧来实现这一功能。以下是一种常见的实现方法: 首先...

    Ext中的Grid控制纵向滚动条单次滚动量

    要控制Grid Panel的滚动条滚动量,我们需要关注两个主要的配置项:`scrollDelta`和`scrollIncrement`。`scrollDelta`用于设置鼠标滚轮滚动时的像素增量,而`scrollIncrement`则是在垂直或水平方向上每次滚动时移动的...

    vb.net自动拖放panel

    在VB.NET编程环境中,"vb.net自动拖放panel"是一个常见的功能需求,它允许用户通过鼠标操作自由地在界面上移动或调整控件的位置。这个功能对于创建动态、交互性强的用户界面至关重要,特别是当需要自定义布局或者...

Global site tag (gtag.js) - Google Analytics