我有一个无窗口的wpf应用程序,每当我将窗口状态设置为最大化时,它就会在主显示器上将其最大化。
我想做的是让它最大化的以往任何时候都显示应用程序正在运行。
你知道我该怎么做吗?
我现在的准则就是
private void titleBarThumb_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
if (this.WindowState == System.Windows.WindowState.Normal)
{
this.WindowState = System.Windows.WindowState.Maximized;
}
else
{
this.WindowState = System.Windows.WindowState.Normal;
}
}
9条答案
按热度按时间zpf6vheq1#
我在MainWindow(第一个控件)构造函数中包含了这一行:
5gfr0r5j2#
由于任务栏的原因,您应该使用用户工作区的大小:
您可以在视图的构造函数中使用它
aiazj4mn3#
我不确定这个问题是否得到了解答-我使用
我创建了一个按钮并在单击处理程序上执行了以下操作-
我为窗口连接了MouseLeftButtonDown处理程序来拖动移动-
当我把我的窗口拖到我的第二个监视器上并单击最大化按钮时,它在当前窗口中最大化,而不是启动窗口。我正在使用VS2010和.NET 4。让我知道这是否有帮助。
kt06eoxx4#
有7个赞成票的问题应该得到 * 正确答案。:D
使用此窗口而不是正常窗口,然后最大化/最小化/正常化将自行处理。
DLL导入和声明
mtb9vblg5#
在加载之前我们无法最大化窗口。因此,通过挂钩fullScreenWindow的Loaded事件并沿着以下方式处理该事件:
bz4sfanl6#
我有我的应用程序得到最大化在第二屏幕上这样做
在主窗口顶部添加以下内容:
在最大化处理程序中添加以下内容:
开始了!
5lwkijsr7#
c#应用程序首先在主显示器上启动,除非它被移动,否则您的代码将工作。但是,如果您的wpf应用程序将被移动到另一个显示器,则可以记录新位置并存储在本地配置文件中。但是,您的应用程序将没有边框或任何其他本地控件,因此您还必须实现移动位。当你的窗口被移动时,你将能够使用系统参数捕获显示索引。
祝你好运
e1xvtsh38#
我刚刚遇到了同样的问题。在我的情况下,它原来是这样的事实,我隐藏我的弹出窗口时,我做了它。所以,如果我调用它下次,并要求它最大化,它会做它在原来的屏幕上。一旦我开始关闭它,而不是,它开始最大化在适当的屏幕上。
pbwdgjma9#
试试看: