winforms 如何在多行文本框不可见时滚动到最后一行

lf5gs5x2  于 2023-05-07  发布在  其他
关注(0)|答案(1)|浏览(132)

我有一个多行文本框内放置的某些标签的标签控件。
当包含TextBox的选项卡未被选中时(因此TextBox不可见),我会向其附加一些文本。
我怎样才能使文本框自动滚动,即使它是不可见的?
我在这里找到的所有信息都是针对可见和可聚焦的TextBox的。
谢谢

sxpgvts3

sxpgvts31#

您可以使用EM_LINESCROLL消息

[DllImport("user32.dll")]
public static extern IntPtr SendMessage(
    IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);

const int EM_LINESCROLL = 0x00B6;
var successful = SendMessage(textBox.Handle, EM_LINESCROLL, IntPtr.Zero, (IntPtr)1000000) != IntPtr.Zero;

您还可以使用SetScrollInfo函数,它似乎可以做同样的事情。

相关问题