richTextBox行间距

 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace WindowsApplication5
{
    public partial class Form2_richtextbox : Form
    {
        public const int WM_USER = 0x0400;
        public const int EM_GETPARAFORMAT = WM_USER + 61;
        public const int EM_SETPARAFORMAT = WM_USER + 71;
        public const long MAX_TAB_STOPS = 32;
        public const uint PFM_LINESPACING = 0x00000100;
        [StructLayout( LayoutKind.Sequential )]
        private struct PARAFORMAT2{   
            public int cbSize;   
            public uint dwMask;   
            public short wNumbering;   
            public short wReserved;   
            public int dxStartIndent;   
            public int dxRightIndent;   
            public int dxOffset;   
            public short wAlignment;   
            public short cTabCount;   
            [MarshalAs( UnmanagedType.ByValArray, SizeConst = 32 )]   
            public int[] rgxTabs;   
            public int dySpaceBefore;   
            public int dySpaceAfter;   
            public int dyLineSpacing;   
            public short sStyle;   
            public byte bLineSpacingRule;  
            public byte bOutlineLevel;   
            public short wShadingWeight;   
            public short wShadingStyle;   
            public short wNumberingStart;   
            public short wNumberingStyle;   
            public short wNumberingTab;   
            public short wBorderSpace;   
            public short wBorderWidth;   
            public short wBorders;}

        public Form2_richtextbox()
        {
            InitializeComponent();
        }       
        [DllImport( "user32", CharSet = CharSet.Auto )]
        private static extern IntPtr SendMessage( HandleRef hWnd, int msg,int wParam, ref PARAFORMAT2 lParam );  
      

        private void button7_Click(object sender, EventArgs e)
        {
            PARAFORMAT2 fmt = new PARAFORMAT2();
            fmt.cbSize = Marshal.SizeOf(fmt);
            fmt.bLineSpacingRule = 4;
            fmt.dyLineSpacing = 500;//((int)richTextBox1.Font.Size) * 20 * ((int)ud.Value);
            fmt.dwMask = PFM_LINESPACING;
            SendMessage(new HandleRef(this.richTextBox1, richTextBox1.Handle), EM_SETPARAFORMAT, 0, ref fmt);
        }

       

    }
}

你可能感兴趣的:(struct,object,user,Class,byte,button)