2011-10-05 46 views

回答

25

您需要设置按钮以允许多行。这可以通过以下P/Invoke代码来实现。

private const int BS_MULTILINE = 0x00002000; 
private const int GWL_STYLE = -16; 

[System.Runtime.InteropServices.DllImport("coredll")] 
private static extern int GetWindowLong(IntPtr hWnd, int nIndex); 

[System.Runtime.InteropServices.DllImport("coredll")] 
private static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong); 

public static void MakeButtonMultiline(Button b) 
{ 
    IntPtr hwnd = b.Handle; 
    int currentStyle = GetWindowLong(hwnd, GWL_STYLE); 
    int newStyle = SetWindowLong(hwnd, GWL_STYLE, currentStyle | BS_MULTILINE); 
} 

使用方法如下:

MakeButtonMultiline(button1); 

source,验证它的工作原理CE设备上)

+1

THX你了。你节省了我的一天:)) – senzacionale

+0

这也适用于单选按钮! – Robin