程式運行過程中動態改變控制項大小的方法

來源:互聯網
上載者:User
程式|動態|過程|控制項 在程式運行期間改變控制項大小要用到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);
}


相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。