備注:使用的是visual studio2013版本
1、建立C#窗體應用程式,初始化的程式預設FormBordeStyle屬性為Sizable,修改屬性FormBordeStyle為none
(1)修改前

(2)修改後
2、F5調試程式後,此時窗體沒有邊框、關閉縮小按鈕,無法通過滑鼠拖動窗體
3、輕按兩下Form1窗體,跳轉到背景代碼,添加一個重寫(override)的函數WndProc(ref Message id)
/// <summary>
/// 設定FormBorderStyle:FixedDialog後窗體無法移動,重新實作移動窗體代碼
/// </summary>
private const int wmParameter = 0x84;
private const int paramOne = 0x1;
private const int paramTwo = 0x2;
protected override void WndProc(ref Message id)
{
// 引用消息ID(ref Message ID)
switch (id.Msg)
{
case wmParameter:
base.WndProc(ref id);
if ((int)id.Result == paramOne)
id.Result = (IntPtr)paramTwo;
return;
}
base.WndProc(ref id);
}
4、修改代碼之後,F5調試,此時界面如下(窗體已經被我用滑鼠移動)
5、總結:設定窗體FormBordeStyle為none之後,可以添加panel,進行自定義窗體界面,實作良好的使用者視覺效果。更多技巧,敬請期待。