2011-11-21 111 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属性设置为空字符串。标题栏被删除,表单被最大化,任务栏可见。

相关问题