我使用 EM_GETLINE 消息来获取特定行中的文本,但是当我第二次调用它时,它返回一个空字符串。
运行此代码,然后单击 button1 两次,第一次单击文本将显示在消息框中,但第二次将显示消息框为空。
private void button1_Click(object sender, EventArgs e)
{
StringBuilder str = new StringBuilder(256);
SendMessage_Ex(richTextBox1.Handle, EM_GETLINE, 0, str);
MessageBox.Show(str.ToString());
}
public const int EM_GETLINE = 0xc4;
[DllImport("user32.dll", EntryPoint = "SendMessageA")]
public static extern int SendMessage_Ex(IntPtr hwnd, int wMsg, int wParam, StringBuilder lParam);