在程序运行期间改变控件大小要用到WindowsAPI函数 以下是主要的代码
[DllImport("user32.dll", EntryPoint="GetWindowLong")] public static extern int GetWindowLong ( int hwnd, int nIndex ); [DllImport("user32.dll", EntryPoint="SetWindowLong")] public static extern int SetWindowLong ( int hwnd, int nIndex, int dwNewLong ); [DllImport("user32.dll", EntryPoint="SetWindowPos")] public static extern int SetWindowPos ( int hwnd, int hWndInsertAfter, int x, int y, int cx, int cy, int wFlags ); public const int GWL_STYLE = (-16); public const int WS_THICKFRAME = 0x40000; const int SWP_NOSIZE = 0x1; const int SWP_NOMOVE = 0x2; const int SWP_NOZORDER = 0x4; const int SWP_FRAMECHANGED = 0x20 ; private void button1_Click(object sender, System.EventArgs e) { int style = GetWindowLong((int)this.textBox1.Handle,GWL_STYLE); style |=WS_THICKFRAME; SetWindowLong((int)this.textBox1.Handle,GWL_STYLE,style); SetWindowPos((int)this.textBox1.Handle,(int)this.Handle,0,0,0,0,SWP_NOZORDER|SWP_NOSIZE|SWP_NOMOVE|SWP_FRAMECHANGED); }
|