Sådan indstilles rullefokus til specificeret kontrol i c # windows app?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har panel med kontrollerne og scrolling. Som standard sætter jeg fokus på panelet. (Jeg har brug for fokus til panel som standard)
hvis jeg ruller panelet til nogle steder, minimerer formularen og maksimerer den, indstiller den placeringen øverst i formularen.
hvis jeg vælger nogen af ​​kontrollen og gør det samme, fokuserer den samme kontrol.


Jeg tror her, at kontrolfokuset forårsager problemet.
Hvordan indstilles kontrolfokus i henhold til scroll? eller
Hvordan viser du samme rulleposition, når du minimerer og maksimerer formularen?

Bedste reference


Er Panel.ScrollControlIntoSe hvad du leder efter?

Andre referencer 1


Det lyder som om du vil have AutoScrolling off.


Opret et nyt panel:


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

Andre referencer 2


Jeg slog sådan ud.


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;
}