2011-09-20 37 views
48

Làm cách nào để xóa đường viền màu xanh ở trên cùng của Biểu mẫu cửa sổ? (Tôi không biết tên của nó chính xác.)Xoá thanh tiêu đề trong Windows Forms

+2

được gọi là TitleBar và bạn có thể ẩn nó thay đổi thuộc tính kiểu đường viền của biểu mẫu thành không có đường viền hoặc không. –

Trả lời

103

Bạn có thể thiết lập các tài sản FormBorderStyle không ai sánh kịp trong thiết kế, hoặc trong mã:

this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; 
+3

Có lỗi đánh máy. Đó là 'FormBorderStyle' :) – ty812

10

Đặt FormsBorderStyle của Mẫu để None.

Nếu bạn làm như vậy, bạn sẽ biết cách triển khai chức năng kéo và đóng của cửa sổ.

55

nếu bởi Blue Border thats on top of the Window Form bạn có nghĩa là titlebar, bộ Hình thức ControlBox tài sản để falseText tài sản cho chuỗi rỗng ("").

đây là một đoạn trích:

this.ControlBox = false; 
this.Text = String.Empty; 
+6

Giải pháp của bạn có lợi thế hơn thiết lập kiểu đường viền là Không, bởi vì ... nó rời khỏi đường viền nguyên vẹn :) +1 – Spook

+0

Và bằng cách nào đó, nếu bạn làm điều đó thông qua 'FormBorderStyle.None' nó sẽ vô hiệu hóa bạn khỏi vẽ trên mẫu bằng cách nào đó (OnPaint đặt một hình ảnh trong một bức tượng có 'Dock' được đặt thành' Fill'), làm việc tốt cho đến khi tôi thay đổi thiết lập đường viền bằng 'FormBorderStyle.None', nhưng cách này, bản vẽ vẫn hoạt động cho tôi :) – DrCopyPaste

+0

@Spook: Tôi đã chuẩn bị một chủ đề mới để hỏi chính xác điều này :) – Jack

8
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None 
16

Ngoài ra thêm chút mã này để hình của bạn để cho phép nó có thể kéo được yên.

Chỉ cần thêm nó ngay trước khi các nhà xây dựng (phương pháp mà các cuộc gọi InitializeComponent()


private const int WM_NCHITTEST = 0x84; 
private const int HTCLIENT = 0x1; 
private const int HTCAPTION = 0x2; 

/// 
/// Handling the window messages 
/// 
protected override void WndProc(ref Message message) 
{ 
    base.WndProc(ref message); 

    if (message.Msg == WM_NCHITTEST && (int)message.Result == HTCLIENT) 
     message.Result = (IntPtr)HTCAPTION; 
} 

đang Đó là từ: https://jachman.wordpress.com/2006/06/08/enhanced-drag-and-move-winforms-without-having-a-titlebar/

Bây giờ để thoát khỏi thanh tiêu đề nhưng vẫn có đường viền kết hợp mã từ phản hồi khác:

.ControlBox = false;

this.Text = String.Empty;

với dòng này:

this.FormBorderStyle = FormBorderStyle.FixedSingle;


Đặt những 3 dòng mã vào sự kiện onload của hình thức và bạn nên có một 'nổi' hình thức đẹp đó là có khả năng kéo với biên giới mỏng (sử dụng FormBorderStyle.None nếu bạn muốn không biên giới).

Các vấn đề liên quan