【发布时间】:2019-12-27 01:03:23
【问题描述】:
我一直在使用EM_SETCUEBANNER 在我的TextBoxes 上实现一个占位符,它工作正常,直到我在RichTextBox 上使用它。它不显示任何文本。
这是我的代码:
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError=true)]
public static extern Int32 SendMessage(IntPtr hWnd, int msg, int wParam, [MarshalAs(UnmanagedType.LPWStr)]string lParam);
bool SetPlaceHolder(TextBoxBase control, string text)
{
const int EM_SETCUEBANNER = 0x1501;
return Natives.SendMessage(control.Handle, EM_SETCUEBANNER, 0, text) == 1;
}
在 RTB 上使用它会返回 false,但 Marshal.GetLastWin32Error() 的值为 0。
我在Edit Control Messages 上找不到任何特定于 RTB 的内容。
我该如何解决这个问题?
【问题讨论】:
标签: c# winforms winapi richtextbox