gpt4 book ai didi

c# - 如何找到控件的可见部分?

转载 作者:太空狗 更新时间:2023-10-29 22:21:10 25 4
gpt4 key购买 nike

我有一个控件,其父级是 ScrollableControl。如何找到用户实际可见的控件部分?两者都是矩形的 - 区域没有什么有趣的事情。

最佳答案

我认为我在下面编写的 GetVisibleRectangle 方法正是您所要求的。随着滚动控件的滚动,连续运行此操作会产生以下输出:

  • {X=0,Y=0,Width=0,Height=0} - button4 被滚出 View 。请注意,此处的值为 Rectangle.Empty
  • {X=211,Y=36,Width=25,Height=13} - button4 滚动到左上角可见
  • {X=161,Y=36,Width=75,Height=13} - 按钮 4 滚动,因此上半部分和整个宽度可见
  • {X=161,Y=26,Width=75,Height=23} - button4 被滚动到完全可见

请注意,除了宽度和高度的变化之外,X、Y 也随着滚动而变化。

来源:

private void button1_Click(object sender, EventArgs e)
{
Rectangle r = GetVisibleRectangle(this.panel1, button4);
System.Diagnostics.Trace.WriteLine(r.ToString());
}

public static Rectangle GetVisibleRectangle(ScrollableControl sc, Control child)
{
Rectangle work = child.Bounds;
work.Intersect(sc.ClientRectangle);
return work;
}

关于c# - 如何找到控件的可见部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/833411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com