我们在客户端广泛使用了DataGridView。我们的客户希望能够将大量文本输入到一行中 - 太多而不能在DataGridView的高度显示 - 并使用主滚动条滚动它们 - 即DataGridView的滚动条。
但是,DataGridView只会滚动,以便将行捕捉到控件的顶部;如果一行大于DataGridView,那么你只能看到它的顶部。
如何创建一个不将其行捕捉到控件顶部的DataGridView?
答案 0 :(得分:2)
将DataGridView放在Panel控件中,并使Panel可滚动。确保将DataGridView的Dock设置为none,并将Height设置为网格中行高的总和。
答案 1 :(得分:1)
基本答案是你不能。 DataGridView通过确定当前的顶行,然后将该顶行绘制到左上角,然后继续向下(您可以通过使用Reflector查看DataGridView的PaintRows方法来看到这一点)来绘制自己。
为什么不使用自动调整大小的文本框,而不是尝试滚动整行?它将在用户输入时增加其高度,并且可以滚动文本框本身。
答案 2 :(得分:1)
你检查了Visual Basic Power Packs 3.0下的“DataRepeater”控件吗?在你的场景中它可以非常方便。