2011-08-23 24 views
0

我有控制面板和滚动。默认情况下,我将焦点设置为面板。(我需要将焦点设置为面板默认值) 如果我将面板滚动到某个位置,最小化窗体并将其最大化,则设置位置到表单顶部。 如果我选择任何一个控件并且执行相同的操作,它将集中相同的控件。如何在c#windows应用程序中将滚动焦点设置为指定的控件?

我想这里的控制重点是造成这个问题。 如何根据滚动设置控件焦点?或 如何在最小化和最大化表单时显示相同的滚动位置?

回答

0

我sloved这样。

Point CurrentPoint; 

private void Form1_Activated(object sender, EventArgs e) 
{ 
    this.AutoScrollPosition = new Point(Math.Abs(this.AutoScrollPosition.X), Math.Abs(CurrentPoint.Y)); 
} 

private void Form1_Deactivate(object sender, EventArgs e) 
{ 
    CurrentPoint = this.AutoScrollPosition; 
} 
0

是Panel.ScrollControlIntoView你在找什么?

0

这听起来像你想关闭AutoScrolling。

创建一个新的面板:

public class PanelEx : Panel 
{ 
    protected override Point ScrollToControl(Control activeControl) 
    { 
    return this.DisplayRectangle.Location; 
    } 
} 
相关问题