回答
這可能是你想要的。它創建一個「最大化」窗口而不隱藏任務欄。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
Left = Top = 0;
Width = Screen.PrimaryScreen.WorkingArea.Width;
Height = Screen.PrimaryScreen.WorkingArea.Height;
}
}
如果最大化是不是你要找的(由Greebo的建議),那麼你就需要通過檢查任務欄的位置和大小來計算自己的窗口大小是什麼:
http://winsharp93.wordpress.com/2009/06/29/find-out-size-and-position-of-the-taskbar/
如果您已經設置了WindowState = Maximized;確保你已經設置了FormBorderStyle =除None之外的任何東西。如果您設置爲None,它將覆蓋您的任務欄。
我不得不回答這個問題here:
有一件事我離開了說明 - 我倒是關閉了最大化按鈕。當我測試再次打開該屬性時,任務欄再次出現。顯然,假設您不希望最大化按鈕創建一個自助服務終端式應用程序,您不希望用戶看到除應用程序屏幕以外的任何內容。不完全是我所期望的,但我猜想是有效的。
我有這個問題,傑夫的幫助解決了它。首先,將windowstate設置爲Maximized。但不要禁用MaximizeBox。然後,如果你想MaximizeBox被禁用,你應該這樣做編程:
private void frmMain_Load(object sender, EventArgs e)
{
this.MaximizeBox = false;
}
嘗試沒有FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
和註釋行,如:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
Left = Top = 0;
Width = Screen.PrimaryScreen.WorkingArea.Width;
Height = Screen.PrimaryScreen.WorkingArea.Height;
}
}
我做的方式,它是通過這個代碼:
this.MaximizedBounds = Screen.FromHandle(this.Handle).WorkingArea;
this.WindowState = FormWindowState.Maximized;
我認爲這應該是被批准的答案,因爲上面提供的解決方案不允許正常的Windows狀態更改行爲。 – mohnston
private void frmGateEntry_Load(object sender, EventArgs e)
{
// set default start position to manual
this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
// set position and size to the Form.
this.Bounds = Screen.PrimaryScreen.WorkingArea;
}
如果您有多個屏幕,則必須重置MaximizedBounds的位置:
Rectangle rect = Screen.FromHandle(this.Handle).WorkingArea;
rect.Location = new Point(0, 0);
this.MaximizedBounds = rect;
this.WindowState = FormWindowState.Maximized;
我不擅長解釋,但這是我用來最大化或全屏顯示不覆蓋任務欄的winforms的代碼。希望能幫助到你。 ^^
private void Form_Load(object sender, EventArgs e)
{
this.Height = Screen.PrimaryScreen.WorkingArea.Height;
this.Width = Screen.PrimaryScreen.WorkingArea.Width;
this.Location = Screen.PrimaryScreen.WorkingArea.Location;
}
有關此代碼專用答案的一些解釋可能會有所幫助! – Pyves
- 1. 顯示IE在全屏模式下,但顯示任務欄
- 2. WPF全屏任務欄appearence
- 3. 的Ant jar任務 - 包括包裝但不包括子包
- 4. 使用c#進行屏幕截圖,包括任務欄。
- 5. 應用留守任務欄在全屏
- 6. C#全屏幕,隱藏任務欄
- 7. 在全屏幕隱藏任務欄WPF
- 8. 刪除一切,但不包括模式
- 9. 任務欄緊湊模式?
- 10. 正則表達式:匹配的模式,但不包括模式
- 11. 當visual studio處於全屏模式時,如何將任務欄「始終置頂」?
- 12. 目前UIViewController在UIViewController模態內不包括全屏
- 13. Android - 如何創建覆蓋全屏,包括操作欄
- 14. 我想匹配任何不包括'#'但是包括'\#'
- 15. iphone - 不是全屏模式
- 16. 如何製作一個全屏的窗口,但仍顯示任務欄
- 17. Gradle'build'任務包括什麼
- 18. 隱藏Xcode 4.3工具欄不可用於全屏模式
- 19. File_exists但不包括
- 20. 強制模式窗體在任務欄
- 21. Twitter Bootstrap模式背景不包括iPad上的整個屏幕
- 22. WPF全屏模式
- 23. Flex全屏模式
- 24. MigLayout全屏模式
- 25. 保存全屏截圖包括酒吧
- 26. awk的排除範圍模式,但包括啓動模式
- 27. 正則表達式,但不包括
- 28. 最大化自定義窗口,包括任務欄
- 29. 在java中使用Selenium截圖,包括任務欄
- 30. 全屏閃爍任務欄Windows Mobile 6應用程序
這是全屏的定義。也許你想將其設置爲「最大化」而不是? –
@Evil:你應該回答你的問題。 – Sung
@TheE:我將它設置爲this.windowstate =最大化... – user698065