2010-03-31 29 views

回答

6

也許最好的你會得到這個是跟隨別人做了什麼,並根據需要調整它。這個問題之前已經被問過,並且有一些很好的起點here。基本過程是,當標題欄被繪製,移動等時,您需要覆蓋WndProc來捕獲消息。然後,您可以在其中注入自己的繪畫方法。您將遇到的真正麻煩是您需要編寫的所有代碼,以使您的自定義按鈕與當前的Windows主題相匹配。最後,你真的最好重新思考你的表單設計,以在其他地方包含功能。

0

從你的窗口中創建一個按鈕,具有代碼:

this.WindowState = FormWindowState.Minimized; 
+0

感謝,更新了問題,找技巧上增加一個最小化標誌符號標題 – Kumar 2010-03-31 13:14:30

0

我不認爲你能做到,我不認爲你想。 Windows設置爲SizableToolWindowFixedToolWindow沒有顯示在任務欄中,所以一旦你最小化了它,用戶就無法恢復它。這就是爲什麼工具窗口沒有最小化按鈕的原因。

你可能想要做的是使用FixedDialog窗口,其MaximizeBox屬性設置爲false。這種形式可以最小化和恢復,但不能以任何方式最大化或調整大小(如果重要的話,也沒有圖標)。

+0

@AMissico:我可能會失去我的想法,但問題的標題是「使用sizabletoolwindow風格的winforms窗體最小化按鈕」。 – MusiGenesis 2010-03-31 02:02:24

+0

@MusiGenesis:不,是我。我很累,很匆忙。 – AMissico 2010-03-31 03:43:37

+0

@MusiGenesis:還有另一種方式來調出窗體,不,它不在任務欄上 – Kumar 2010-03-31 13:13:37

0

我建議你用BigJason描述的方式,並用controlrenderer來解決繪圖的問題,那會繪製正確的windowstheme按鈕。公共靜態無效DrawCaptionButton(圖形圖形,int x,int y,int寬度,int高度,CaptionButton按鈕,ButtonState狀態);}}} 聲明類型:System.Windows.Forms.ControlPaint 集:System.Windows.Forms,版本= 2.0.0.0