//height:要指定的行高像素 private void SetLineSpace(Control ctl, int height) { //1像素=15缇。 int dyLineSpacing = height * 15; //4:dylinespace成员以 缇。的形式指定从一行到下一行的间距。控件使用指定的精确间距,即使dylinespace指定的值小于单个间距。 //3:dylinespace成员以 缇。的形式指定从一行到下一行的间隔。但是,如果dylinespace指定的值小于单间距,则控件将显示单间距文本。 byte bLineSpacingRule = (byte)3; RowSpacing fmt = new RowSpacing(); fmt.cbSize = Marshal.SizeOf(fmt); fmt.bLineSpacingRule = bLineSpacingRule; fmt.dyLineSpacing = dyLineSpacing; fmt.dwMask = PFM_LINESPACING; try { SendMessage(new HandleRef(ctl, ctl.Handle), EM_SETPARAFORMAT, bLineSpacingRule, ref fmt); } catch { } }
private static extern IntPtr SendMessage(HandleRef hWnd, int msg, int wParam, ref RowSpacing lParam);