当前位置:编程学习 > C#/ASP.NET >>

winform的panel滚动条位置问题

请教个问题,很急。
按如下步骤建立c#的应用程序。
1,建立三个form:form1是父窗口,form2和form3都是子窗口,并且同时显示两个子窗口。
2,form2上有个panel,panel的autoscroll设置为true,
panel放上一个任意控件(比如文本框),
这样当panel的控件大于panel的大小时,就会自动出现滚动条。
3,运行程序,先拖动form2上的滚动条,然后点击form3,再点击form2文本框,
会出现滚动条复位的问题,请问怎么解决这个bug?
p.s.请尽量不使用scrollbar等其他控件来替代。 --------------------编程问答-------------------- 最好能上个图 --------------------编程问答-------------------- scrollbar应该有控制这个的属性 --------------------编程问答-------------------- to 楼上各位
我的意思是不用scrollbar,直接用panel自带的滚动条。
图待会我把那个bug的例子弄出来再上。
--------------------编程问答-------------------- 没有楼主说的那种情况啊 --------------------编程问答-------------------- 关注中 --------------------编程问答-------------------- lostFocus事件里加个控制试试 --------------------编程问答-------------------- to6L,
lostfocus没试过,但是我在form2的Activated事件和
panel的enter事件给滚动条重新赋值都不行:

this.panel1.AutoScrollPosition = new Point(-poiPosition.X, -poiPosition.Y);
Application.DoEvents();

p.s.:lostfocus事件怎么添加?我在panel的属性栏里找不到。。。- -lll --------------------编程问答-------------------- 1,激活form2

2,滚动panel的滚动条

3,切换到form3

4,再切换到form2,此时滚动条复位了
/upload/20131228/1537899_1259561138JC4E.jpg

以下是唯一手动写的代码(红字部分):
public Form1()
        {
            InitializeComponent();

            Form2 f2 = new Form2();
            f2.MdiParent = this;
            f2.Show();
            Form3 f3 = new Form3();
            f3.MdiParent = this;
            f3.Show();
        }

剩下的都是vs环境中的拖控件和设置控件属性(仅仅是将panel的autoscroll改为true) --------------------编程问答-------------------- 第四张图

--------------------编程问答-------------------- 值是可以赋上的,但会有滚动效果,不好,我也认为应该有个属性控制,正在找...l
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,