如何在 C# Windows 应用程序中将滚动焦点设置到指定控件?

发布于 2024-12-01 05:56:56 字数 187 浏览 0 评论 0原文

我有带有控件和滚动的面板。默认情况下,我将焦点设置为面板。(默认情况下我需要焦点到面板) 如果我将面板滚动到某个位置,最小化表单并最大化它,它将位置设置为表单顶部。 如果我选择任何一个控件并执行相同的操作,它将聚焦于相同的控件。

我认为这里的控制焦点导致了问题。 如何根据滚动设置控制焦点?或者 如何在最小化和最大化表单时显示相同的滚动位置?

I have panel with the controls and scrolling .By default i set the focus to panel.(i need focus to panel by default)
if i scroll the panel to some where ,minimized the form and maximize it,it is setting the position to top of the form.
if i select the any of the control and do the same,it is focusing same control.

i think here the control focus is causing the problem.
how to set the control focus according to the scroll? or
How to show the same scroll position when minimize and maximize the form?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

糖粟与秋泊 2024-12-08 05:56:56

Panel.ScrollControlIntoView 是您要找的吗?

Is Panel.ScrollControlIntoView what you are looking for?

回心转意 2024-12-08 05:56:56

听起来您想关闭自动滚动。

创建一个新面板:

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

It sounds like you want AutoScrolling off.

Create a new panel:

public class PanelEx : Panel
{
  protected override Point ScrollToControl(Control activeControl)
  {
    return this.DisplayRectangle.Location;
  }
}
荭秂 2024-12-08 05:56:56

我就这样爱过。

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

I sloved like this.

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;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文