gpt4 book ai didi

.net - 具有自动滚动功能的 Windows.Forms.Panel 中的控制位置

转载 作者:行者123 更新时间:2023-12-04 14:42:27 28 4
gpt4 key购买 nike

Control.Location 不考虑父面板控件的 slider 位置并返回值,就像没有滚动条一样。那么如何获取可滚动面板中某些控件的真实位置呢?例如这里我从来没有得到我的按钮的真实位置:

Button button;
public Form1()
{
InitializeComponent();
panel1.Height = 200;
panel1.AutoScrollMinSize = new Size(0, 2000);
button = new Button();
panel1.Controls.Add(button);
button.Top = 1500;
button.Click += new EventHandler(button_Click);
}

void button_Click(object sender, EventArgs e)
{
MessageBox.Show(button.Location.Y.ToString());
}

最佳答案

确实如此。如果我将一个面板放在一个滚动面板中,位置会随着我滚动而改变:

Private Sub Panel1_Scroll(ByVal sender As Object, ByVal e As ScrollEventArgs) Handles Panel1.Scroll
Me.Text = Panel2.Location.ToString
End Sub

确保您没有将控件放在正在滚动的另一个面板内,这样位置属性就不会改变。

否则,请查看 PointToScreen 和 PointToClient 函数或根据滚动父级的 AutoScrollPosition 值调整您的值。

关于.net - 具有自动滚动功能的 Windows.Forms.Panel 中的控制位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6314695/

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