C# WinForm設置窗口無邊框、窗口可移動、窗口顯示在屏幕中央、控件去邊框


1)窗口去除邊框

在組件屬性中FormBorderStyle設為None

2)窗口隨着鼠標移動而動

添加引用using System.Runtime.InteropServices;

在初始化控件{InitializeComponent();}代碼后添加

 1         [DllImport("user32.dll")]
 2         public static extern bool ReleaseCapture();
 3         [DllImport("user32.dll")]
 4         public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
 5         bool beginMove = false;//初始化鼠標位置
 6         int currentXPosition;
 7         int currentYPosition;
 8      //獲取鼠標按下時的位置
 9      private void QRCode_MouseDown(object sender, MouseEventArgs e)
10         {
11             if (e.Button == MouseButtons.Left)
12             {
13                 beginMove = true;
14                 currentXPosition = MousePosition.X;//鼠標的x坐標為當前窗體左上角x坐標
15                 currentYPosition = MousePosition.Y;//鼠標的y坐標為當前窗體左上角y坐標
16             }
17         }
18      //獲取鼠標移動到的位置
19         private void QRCode_MouseMove(object sender, MouseEventArgs e)
20         {
21             if (beginMove)
22             {
23                 this.Left += MousePosition.X - currentXPosition;//根據鼠標x坐標確定窗體的左邊坐標x
24                 this.Top += MousePosition.Y - currentYPosition;//根據鼠標的y坐標窗體的頂部,即Y坐標
25                 currentXPosition = MousePosition.X;
26                 currentYPosition = MousePosition.Y;
27             }
28         }
29      //釋放鼠標時的位置
30         private void QRCode_MouseUp(object sender, MouseEventArgs e)
31         {
32             if (e.Button == MouseButtons.Left)
33             {
34                 currentXPosition = 0; //設置初始狀態
35                 currentYPosition = 0;
36                 beginMove = false;
37             }
38         }

3)窗口居中顯示

利用C# Form中的StartPosition屬性CenterScreen將界面顯示在屏幕中央

若是用代碼實現,顯示窗體前,應設置此屬性,可在調用Show()或是ShowDialog()方法之前或在窗體構造函數中設置此屬性,不要在load()事件中改變此屬性,不起作用。

4)界面大小固定

AutoSizeMode有GrowOnly和GrowAndShrink兩種屬性

GrowOnly:生成的窗體可用鼠標調節

GrowAndShrink:生成的窗體不可用鼠標調節

5)控件設為透明,無邊框

將控件的FlatStyle設為flat,為解決內邊框出現,將FlatAppearance下的BorderSize設為0.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM