2011-11-21 51 views
0

有人可以幫助我。我需要在C#中最大化我的應用程序,它將在任務欄上。我已經改變了屬性WindowState = Maximized。但是應用程序的下半部分出現在任務欄下。我希望狀態欄顯示在上面,同時任務欄也顯示在下方。如何在Windows窗體的任務欄上最大化應用程序

enter image description here 其最大化,但哪裏是我的狀態欄:) enter image description here 這是窗口的正常狀態。你可以看到狀態欄在這個照片。

+0

這可能有所幫助:http://social.msdn.microsoft.com/forums/en-US/winforms/thread/c19872ab-8f3f-435f-a201-a36dea62ba98/ –

+0

大小s =新大小(SystemInformation.VirtualScreen。 Width,SystemInformation.VirtualScreen.Height - 40); Size = s; //這段代碼是真正的解決方案?任務欄的高度爲40 Px,距屏幕分辨率較低。 –

+0

您的表單似乎沒有最大化按鈕(或者我誤讀了圖像?)。如果所有按鈕都存在(或不存在),並且您試圖實現哪種效果,它會正常工作嗎?您是否希望應用程序爲全屏(無任務欄),或者是否希望狀態欄顯示在上方任務欄也顯示在它下面(我不太清楚你的描述) –

回答

0

我猜你已將TopMost屬性設置爲「True」。如果您需要此設置,則可以從Win32 API調用中獲取任務欄信息。有一個關於它在這裏的一些信息:

Taskbar Height

否則,你可能只是禁用最上面的設置。你可能想要檢查你的程序在64位操作系統上運行(如果你還沒有使用它)。我使用64位客戶機的VirtualBox來測試32位主機上的64位。 (雖然需要一個64位處理器。)

我希望這有助於。

+0

我想我已經錯過了解這個問題。你的開始欄出現在你的應用程序頂部,而不是你的應用程序下方的欄?您使用的是哪個版本的Windows,並且安裝了所有更新?這個窗口的窗體設置是什麼? – James

2

正如我在我的評論中指出的,你在窗口做了一些奇怪的事情,這就是爲什麼你會得到這種行爲。我可以重現這一點。我創建了一個新的WinForms項目,把具有此代碼的形式上的按鈕:

private void button1_Click(object sender, EventArgs e) 
{ 
    this.WindowState = FormWindowState.Maximized; 
} 

增加了狀態欄和設置窗體的MaximizeBox屬性。運行代碼,按下我的自定義按鈕,表單最大化,但狀態欄消失在任務欄後面。

如果我然後關閉該窗體,重新啓用MaximizeBox財產,並重新運行該項目,然後最大化形式得到你想要的行爲(狀態欄的底部與任務欄的頂部對齊)。所以重新啓用你的MaximizeBox,你應該完成。

(一旦最大化框可用,最大化工程是否使用或自定義按鈕)

1

首先,確保你沒有控制盒,但在格式文本的文本 - 這增加了標題欄。然後,將您的表單WindowState設置爲Maximized

您在事件中所做的最後一件事是將Text屬性設置爲空字符串。標題欄被刪除,表單被最大化,任務欄可見。

相關問題