tedr108
Вот простое решение для установки левого и правого полей RichTextBox, которое хорошо работало для меня в приложении C# Windows. Он устанавливает как правое, так и левое поля на 4 пикселя.
[DllImport("user32.dll")]
static extern int SendMessage(IntPtr hWnd, uint wMsg, UIntPtr wParam, IntPtr lParam);
// both left and right margins set to 4 pixels with the last parm: 0x00040004
SendMessage(richtextbox1.Handle, 0xd3, (UIntPtr)0x3, (IntPtr)0x00040004);
Я попытался сделать SendMessage более правильным ниже:
const int EM_SETMARGINS = 0xd3;
const int EC_LEFTMARGIN = 0x1;
const int EC_RIGHTMARGIN = 0x2;
SendMessage(richtextbox1.Handle, EM_SETMARGINS,
(UIntPtr)(EC_LEFTMARGIN | EC_RIGHTMARGIN), (IntPtr)0x00040004);
Я полагаю, что это решение было невозможно, когда вопрос был первоначально опубликован.