社区
C#
帖子详情
关于ScrollBar,AutoScroll(滚动条)
isleepy
2003-09-24 11:34:01
我在窗口中放一个控件,
然后设置窗口的AutoScroll属性为true,
这时窗口可以根据控件的大小自动出现滚动条,
问题是当我下拉或右移滚动条,然后切换至其他窗口,
在次激活的时候滚动条总会自动复位,
而不能保持当前位置,
苦恼中。。。
...全文
475
14
打赏
收藏
关于ScrollBar,AutoScroll(滚动条)
我在窗口中放一个控件, 然后设置窗口的AutoScroll属性为true, 这时窗口可以根据控件的大小自动出现滚动条, 问题是当我下拉或右移滚动条,然后切换至其他窗口, 在次激活的时候滚动条总会自动复位, 而不能保持当前位置, 苦恼中。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
brightheroes
2003-09-24
打赏
举报
回复
楼上的很有道理呀
isleepy
2003-09-24
打赏
举报
回复
哎,激活就是activate or GotFocus,不是什么打开不打开
还是做一个例子给你们看看就明白了
jjcccc
2003-09-24
打赏
举报
回复
打错字,重发:
哦,我知道是什么原因。那时因为你在离开窗体前,窗体的焦点控件在窗体的可见区域以外(或部分在窗体以外),所以等你再切换回该窗体时,就会自动滚动以让你的焦点可见显示出来。你可以在Activated事件加上一句代码,假设你窗体最上部有个TextBox控件:textBox1;
textBox1.Focus();
然后你再切换试试,每次窗体激活时就会自动滚动到上部,保证textBox1完整显示出来。
jjcccc
2003-09-24
打赏
举报
回复
哦,我知道是什么原因。那时因为你在离开窗体前,窗体的焦点控件在窗体的可见区域以外(或部分以外),右移等你再切换回该窗体时,机会自动滚动以让你的焦点可见显示出来。你可以在Activated事件加上一句代码,记假设你窗体最上不有个TextBox:textBox1;
textBox1.Focus();
然后你再切换试试,每次窗体激活时就会自动滚动到上部,保证textBox1完整显示出来。
asam2183
2003-09-24
打赏
举报
回复
aspx.cs:
if (Request["__SCROLLPOS"] != null &&
Request["__SCROLLPOS"] != String.Empty)
{
int pos = Convert.ToInt32 (Request["__SCROLLPOS"]);
Response.Write ("<body id=\"theBody\" " +
"onscroll=\"javascript:document.forms[0].__SCROLLPOS.value = " +
"theBody.scrollTop;\" " +
"onload=\"javascript:theBody.scrollTop=" + pos + ";\">");
}
else
{
Response.Write ("<body id=\"theBody\" " +
"onscroll=\"javascript:document.forms[0].__SCROLLPOS.value =" +
"theBody.scrollTop;\">");
}
aspx:
<input type="hidden" name="__SCROLLPOS">
brightheroes
2003-09-24
打赏
举报
回复
没有注意过,看看有没有记录当前位置的属性
storm97
2003-09-24
打赏
举报
回复
你的再次激活是指重新打开吧?
如果你不关闭,而只是让他的visiable=false;那么下次再让他visiable=true,应该不会还原的。
jjcccc
2003-09-24
打赏
举报
回复
豁,不容易你
isleepy
2003-09-24
打赏
举报
回复
功能终于凑合着实现了,
我在WndProc中记下了ScrollBar的位置,
在窗口激活时候用定时器延时,
LockWindowUpdate(this.Handle);防止闪烁
然后恢复ScrollBar的位置
LockWindowUpdate((IntPtr)0);恢复刷新
jjcccc
2003-09-24
打赏
举报
回复
并且我实验结果也不行啊?
==》怎么会呢,我试过的呀。
isleepy
2003-09-24
打赏
举报
回复
这个函数SetScrollState msdn中都没有详细解释,
并且我实验结果也不行啊?
angelior
2003-09-24
打赏
举报
回复
樓上的說了
樓主可以結貼了
jjcccc
2003-09-24
打赏
举报
回复
一个方法:
在窗体的DeActivated事件加上一句:
this.SetScrollState(0,false);
在Activated事件中加上:
this.SetScrollState(0,true);
就可以了。
isleepy
2003-09-24
打赏
举报
回复
jjcccc,你说的原因不错,谢谢
我的情况是只有一个控件,
但是只要窗口active,这个控件就得到焦点,
滚动条就自动复位到左上,
如何防止滚动条复位?
还没有找到解决方法
C# for CSDN 乱七八糟的看不懂
没法下载,到这里折腾一把试试。 本文由abc2253130贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 C#(WINFORM)学习 一、 C#基础 基础 类型和变量 类型和变量 类型 C# 支持两...
网站
滚动条
问题 由于
滚动条
出现消失造成页面抖动 && 自定义
滚动条
样式
100vw相对于浏览器的window.innerWidth,是浏览器的内部宽度,注意,
滚动条
宽度也计算在内!而100%是可用宽度,是不含
滚动条
的宽度。解决抖动可以根据是否有有
滚动条
进行不同的左右宽度计算: body{ padding-left: ...
Winform中,容器
Auto
Scroll
=true,如何判断运行时是否出现了
滚动条
(
Scroll
Bar
)以及
滚动条
的宽高度...
1. 出现
滚动条
可以通过当前的Control.ClientSize 和原始ClientSize进行比较来判断,若小,则出现了
滚动条
,若大,则没有
滚动条
。这里Control指容器对象 2.
滚动条
的宽度为:竖向宽度为:SystemInformation....
.net winform中怎么重绘DataGridView的
滚动条
的样式颜色
在.NET WinForms中,可以通过以下步骤来重绘 DataGridView
滚动条
的样式和颜色: 在项目中添加一个类,继承自 DataGridView。 在类中重写 OnPaint 方法。 在 OnPaint 方法中使用 Graphics 类进行绘图。 使用 ...
C#中如何隐藏
滚动条
(
Scroll
Bar
)同时又具备自动滚动的功能
C#中如何隐藏
滚动条
(
Scroll
Bar
)同时又具备自动滚动的功能 (2011-01-30 13:38:28) 转载▼ 标签: it http://blog.sina.com.cn/s/blog_4b650d650100oa6o.html ...
C#
110,561
社区成员
642,566
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章