这个还是不行,老师,是不是更全局代码里面的有关系呀
Public Class UtilsSetLineSpace
Public Const WM_USER As Integer = &H400
Public Const EM_GETPARAFORMAT As Integer = WM_USER + 61
Public Const EM_SETPARAFORMAT As Integer = WM_USER + 71
Public Const MAX_TAB_STOPS As Long = 32
Public Const PFM_LINESPACING As UInteger = &H100
<StructLayout(LayoutKind.Sequential)> _
Private Structure PARAFORMAT2
Public cbSize As Integer
Public dwMask As UInteger
Public wNumbering As Short
Public wReserved As Short
Public dxStartIndent As Integer
Public dxRightIndent As Integer
Public dxOffset As Integer
Public wAlignment As Short
Public cTabCount As Short
<MarshalAs(UnmanagedType.ByValArray, SizeConst := 32)> _
Public rgxTabs As Integer()
Public dySpaceBefore As Integer
Public dySpaceAfter As Integer
Public dyLineSpacing As Integer
Public sStyle As Short
Public bLineSpacingRule As Byte
Public bOutlineLevel As Byte
Public wShadingWeight As Short
Public wShadingStyle As Short
Public wNumberingStart As Short
Public wNumberingStyle As Short
Public wNumberingTab As Short
Public wBorderSpace As Short
Public wBorderWidth As Short
Public wBorders As Short
End Structure
<DllImport("user32", CharSet := CharSet.Auto)> _
Private Shared Function SendMessage(hWnd As HandleRef, msg As Integer, wParam As Integer, ByRef lParam As PARAFORMAT2) As IntPtr
End Function
''' <summary>
''' 设置行距
''' </summary>
''' <param name="ctl">控件</param>
''' <param name="dyLineSpacing">间距</param>
Public Shared Sub SetLineSpace(ctl As Windows.Forms.Control, dyLineSpacing As Integer)
Dim fmt As New PARAFORMAT2()
fmt.cbSize = Marshal.SizeOf(fmt)
fmt.bLineSpacingRule = 4
' bLineSpacingRule;
fmt.dyLineSpacing = dyLineSpacing
fmt.dwMask = PFM_LINESPACING
Try
SendMessage(New HandleRef(ctl, ctl.Handle), EM_SETPARAFORMAT, 0, fmt)
Catch
End Try
End Sub
End Class
Public Sub mytxt_TextChanged(sender As Object, e As EventArgs)
Functions.Execute("mytxt_TextChanged", sender, e)
End Sub