gpt4 book ai didi

.net - 如何阻止Winforms面板滚动?

转载 作者:行者123 更新时间:2023-12-03 11:34:00 24 4
gpt4 key购买 nike

如果将300像素高的DataGridView放置在300像素高的面板上,以便在面板上有一个滚动条,然后向下滚动以显示网格的下半部分,然后单击面板外的控件,然后单击网格中的一行,面板将向上滚动到顶部,并选择了网格中的错误行。

这不仅仅是一个DataGridView;它发生在面板上方的任何控件上,例如Infragistics UltraWinGrid,Rich Text Box。我将其作为Infragistics的错误提出,但他们说这是Microsoft的问题。

我已经尝试将所有相关事件用于控件,但是面板滚动发生在事件触发之前。

有什么建议?

最佳答案

我猜您正在将面板的AutoScroll属性设置为true。这样做时,切换应用程序会将滚动位置重置为零,面板将重置其位置。

如果关闭AutoScroll并添加自己的滚动条,则可以设置滚动条的最大值和最小值以匹配面板的要求,然后在滚动条的Scroll事件中设置面板的滚动值。切换窗口时不会重置。

就像是:

private void vScrollBar1_Scroll(object sender, ScrollEventArgs e)
{
panel1.VerticalScroll.Value = vScrollBar1.Value;
}

这是我的新手,我不得不重新创建它。我可能不得不在我的网站上添加一篇有关它的文章:-)

关于.net - 如何阻止Winforms面板滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/419774/

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