2011-02-27 73 views
2

我只是不知道如何解釋我的問題。所以我創造了一個形象。c#,隱藏「控制箱」,winforms

(我不使用WPF)


所以,現在我有我的老問題連接問題。

現在我的窗體周圍有了新的「酷」邊框。

但它只在我使用FormBorderStyle.SizableToolWindowFormBorderStyle.Sizable時有效,否則它是「無邊界」。

但我想有不可調整大小的形式...

我可憐的解決方案:

我可以使用maximumsize = this.size;minimumsize = this.size但是當我把我的光標越過邊境,然後我的光標變爲「調整大小」光標......那是難看的...

我希望你能理解我。

感謝

回答

7

你需要設置你的窗體沒有標題,也對,像你說的,隱藏的控制箱。您可以在表格的屬性面板中更改這兩項。

或者,代碼:

public Form1() 
{ 
    InitializeComponent(); 

    ControlBox = false; 
    Text = ""; 
} 

注意,這會導致你的表格是undraggable(如果它不是已經調整大小),你需要添加自己的控件來處理關閉窗體。

編輯:防止窗口被調整大小單程防止光標從改變爲調整手柄是重寫WndProc()處理程序的形式和截距WM_NCHITTEST

將這種方法在你的窗體類,並保持FormBorderStyleFormBorderStyle.SizableFormBorderStyle.SizableToolWindow

protected override void WndProc(ref Message message) 
{ 
    const int WM_NCHITTEST = 0x0084; 

    if (message.Msg == WM_NCHITTEST) 
    { 
     return; 
    } 

    base.WndProc(ref message); 
} 
+0

問題更新中... – 2011-02-27 21:47:12

+0

@Peane:我更新了我的答案。 – BoltClock 2011-02-27 22:16:52

+0

非常感謝。我很佩服你。再次感謝。 – 2011-02-27 22:24:47