问题标签 [windowstate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C# 将“WindowState.ToString”在文化之间改变
以下面的代码为例;
我们正在分析窗口状态的字符串定义,即“Minimized”。
这个字符串描述会在文化之间改变吗?
最后,在这段代码中,是否有一个 Enum 可以用来检查窗口状态?
我们可以重构这个代码段吗?
c# - 使用 C# FormWindowState 恢复起来?
我想检测我的应用程序是否在某些情况下被最小化,如果是,则需要恢复窗口。我可以很容易地做到这一点,如下所示:
但是,如果用户首先最大化表单,然后最小化它会发生什么?我不知道是否设置WindowState
toFormWindowState.Normal
或FormWindowState.Maximized
. 有没有我可以检查的方法或 API 调用来解决这个问题?
c# - 如何防止其他应用窃取焦点?
我有一个全屏窗口,其中 Topmost 属性设置为 true。每当应用程序更改其 WindowState 属性时,我的窗口会自动最小化,即使它具有活动焦点。例如,下面的代码举例说明了这个问题。窗口停用 3 秒后,它从最小化变为正常,最小化其他全屏应用程序。
在这种情况下,有没有办法保留全屏窗口的 WindowState 属性?我希望用户选择最小化全屏应用程序,所以我想阻止其他程序窃取焦点。
wpf - WPF:即使显式设置 WindowState,窗口也会保持最小化
我的应用程序有一个托盘图标,双击它会隐藏或显示应用程序窗口。我的问题是,如果窗口在隐藏时处于最小化状态,我似乎无法将其置于前台。
例如,假设用户最小化应用程序,然后双击托盘图标。然后应用程序窗口被隐藏并从任务栏中消失。当用户再次双击托盘图标时,应用程序窗口应该出现,即它应该从最小化状态恢复并被带到前台。
下面的代码应该做到这一点,但由于某种原因它没有:
应用程序保持最小化,不会被带到前台。Activate()返回 true,随后对TrayIcon_DoubleClick()的调用表明状态确实设置为Normal。
c# - 如何在不同的线程上更改窗体的窗口状态?
有谁知道我如何从另一个线程更改窗体的窗口状态?这是我正在使用的代码:
它的意思是运行一个程序并最小化,然后在程序关闭后返回正常状态。虽然我收到此错误“跨线程操作无效:控件'Form1'从创建它的线程以外的线程访问。” 知道如何让它工作吗?
wpf - 如何将 Window.ShowActivated = false 与最大化窗口一起使用?
我有一个应用程序,在创建主窗口之前显示了启动画面。如果用户在显示初始屏幕时关注了另一个应用程序,我想避免主窗口在创建时窃取焦点。
我的应用程序的启动如下所示:
为了防止主窗口被激活,我设置Window.ShowActivated
为false
,仅当初始屏幕失去焦点时。但这会导致异常:
InvalidOperationException:当 ShowActivated 为 false 且 WindowState 设置为 Maximized 时,无法显示 Window。
事实上,我的 MainWindow 设置WindowState
为Maximized
(从以前的会话设置恢复)。我不明白为什么该ShowActivated
功能有这样的限制。我找不到有关此问题的任何文档。
我尝试强制WindowState
何时为假Normal
,ShowActivated
它可以防止异常,但它也会激活窗口!也许改变窗口状态实际上会导致激活?
有什么技巧可以用来解决这个问题吗?我想将我的主窗口恢复为最大化状态,并且如果用户在启动屏幕期间将注意力从我的应用程序上移开,则主窗口不会将焦点从其他应用程序上窃取。
excel - Excel 互操作:恢复最小化窗口
在我通过 com interop 与 Excel 交互的 winforms 应用程序中,
我正在尝试附加到现有的 Excel 进程(如果有的话)。获取对象似乎运行良好,但如果 Excel 应用程序被最小化(这很可能在我的用例中),我无法恢复窗口并将其带到前面。
我尝试了以下语句:
这些都没有任何效果。我怎样才能做到这一点?
(请注意:我的问题与存在现有实例的情况有关,因此“Visible = true”不是必需的,此线程不适用。)
c# - C# 中的程序,用于判断打开的应用程序是否处于最大化模式
我想知道 Windows 操作系统中是否有任何库可以让我们捕获其他应用程序窗口状态
.net - 如何使用鼠标光标在屏幕上最大化 WPF 窗口?
根据WindowStartupLocation 属性的 MSDN 文档:
设置 CenterScreen 会导致一个窗口位于包含鼠标光标的屏幕中心。
尽管CenterScreen 字段本身的 MSDN 文档将其定义为:
窗口的启动位置是打开它的屏幕的中心。
一个简单的测试表明它可以正常工作:
主窗口.xaml
主窗口.xaml.cs
如果您在双显示器系统上对此进行测试,您可以看到新窗口将在您单击按钮时鼠标光标所在的屏幕居中。这正是它应该如何工作的。
但是,如果您尝试在显示之前将窗口设置为最大化,则新窗口只会在您启动应用程序的显示器上最大化。将 button_Click 事件处理程序更改为以下内容以了解我的意思:
现在,无论您单击按钮时鼠标光标在哪里,窗口都只会在启动应用程序的屏幕上最大化。如果在显示后将窗口状态设置为最大化,CenterScreen 可以正常工作。这相当于用户最大化窗口。例如:
当然,这里的问题是,在显示窗口后最大化窗口需要更长的时间,并且在像我这样的应用程序中,窗口需要立即弹出到位。
有人知道解决方案吗?
.net - 类似于 WindowState 的 RestoreBounds
我有一个开始最小化的应用程序。
我可以将 RestoreBounds 设置为当用户恢复它时窗口将恢复的大小。
但是如何设置表单是否应该恢复到最大化或正常状态?默认为正常。我希望有类似 RestoreWindowState 的东西。
我可以以某种方式使用 API 来做到这一点吗?