我有控制面板和滚动。默认情况下,我将焦点设置为面板。(我需要将焦点设置为面板默认值) 如果我将面板滚动到某个位置,最小化窗体并将其最大化,则设置位置到表单顶部。 如果我选择任何一个控件并且执行相同的操作,它将集中相同的控件。如何在c#windows应用程序中将滚动焦点设置为指定的控件?
我想这里的控制重点是造成这个问题。 如何根据滚动设置控件焦点?或 如何在最小化和最大化表单时显示相同的滚动位置?
我有控制面板和滚动。默认情况下,我将焦点设置为面板。(我需要将焦点设置为面板默认值) 如果我将面板滚动到某个位置,最小化窗体并将其最大化,则设置位置到表单顶部。 如果我选择任何一个控件并且执行相同的操作,它将集中相同的控件。如何在c#windows应用程序中将滚动焦点设置为指定的控件?
我想这里的控制重点是造成这个问题。 如何根据滚动设置控件焦点?或 如何在最小化和最大化表单时显示相同的滚动位置?
我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;
}
是Panel.ScrollControlIntoView你在找什么?
这听起来像你想关闭AutoScrolling。
创建一个新的面板:
public class PanelEx : Panel
{
protected override Point ScrollToControl(Control activeControl)
{
return this.DisplayRectangle.Location;
}
}