問題タブ [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.

0 投票する
3 に答える
1001 参照

c# - C#「WindowState.ToString」はカルチャ間で変更されます

たとえば、次のコードを考えてみましょう。

ウィンドウ状態の文字列定義、つまり「最小化」を分析しています。

この文字列の説明は文化間で変わりますか?

最後に、このコードで、ウィンドウの状態をチェックするために使用できる列挙型はありますか?

このコードセグメントをリファクタリングできますか?

0 投票する
5 に答える
9392 参照

c# - C# FormWindowState を使用して復元しますか?

特定の状況でアプリケーションが最小化されているかどうかを検出したいと思います。最小化されている場合は、ウィンドウを復元する必要があります。次のように簡単に行うことができます。

しかし、ユーザーが最初にフォームを最大化し、次に最小化するとどうなるでしょうか? WindowStateを に設定するか、 に設定するFormWindowState.NormalかわかりませんFormWindowState.Maximized。この問題を解決するために確認できるメソッドまたは API 呼び出しはありますか?

0 投票する
3 に答える
1700 参照

c# - 他のアプリがフォーカスを盗むのを防ぐにはどうすればよいですか?

Topmostプロパティがtrueに設定されたフルスクリーンウィンドウがあります。アプリケーションがWindowStateプロパティを変更するたびに、アクティブフォーカスがある場合でも、ウィンドウは自動的に最小化されます。たとえば、以下のコードは問題の例です。ウィンドウが非アクティブ化されてから3秒後に、ウィンドウが最小化から通常に変わり、他のフルスクリーンアプリケーションが最小化されます。

このような場合にフルスクリーンウィンドウのWindowStateプロパティを保持する方法はありますか?フルスクリーンアプリを最小化することをユーザーに選択してもらいたいので、他のプログラムがフォーカスを奪うのを止めたいと思います。

0 投票する
3 に答える
8239 参照

wpf - WPF: WindowState を明示的に設定しても、ウィンドウは最小化されたままです

私のアプリケーションにはトレイ アイコンがあり、ダブルクリックするとアプリケーション ウィンドウが表示または非表示になります。私の問題は、ウィンドウが非表示のときに最小化された状態にある場合、ウィンドウを前面に表示できないように見えることです。

たとえば、ユーザーがアプリケーションを最小化してから、トレイ アイコンをダブルクリックしたとします。アプリケーション ウィンドウが非表示になり、タスクバーから消えます。ユーザーがトレイ アイコンを再度ダブルクリックすると、アプリケーション ウィンドウが表示されます。つまり、最小化された状態から復元され、最前面に表示されます。

以下のコードはまさにそれを行うべきですが、何らかの理由でそうしません:

アプリケーションは最小化されたままになり、最前面には表示されません。Activate()は true を返し、その後TrayIcon_DoubleClick()を呼び出すと、状態が実際にNormalに設定されていることが示されます。

0 投票する
5 に答える
21074 参照

c# - 別のスレッドでフォームのウィンドウ状態を変更するには?

別のスレッドから、フォームのウィンドウの状態を変更する方法を知っている人はいますか? これは私が使用しているコードです:

プログラムを実行して最小化し、プログラムが閉じたら通常の状態に戻ることを意図しています。このエラーが表示されますが、「クロススレッド操作が無効です: コントロール 'Form1' は、作成されたスレッド以外のスレッドからアクセスされました。」これを機能させる方法はありますか?

0 投票する
1 に答える
2738 参照

wpf - 最大化されたウィンドウで Window.ShowActivated = false を使用するにはどうすればよいですか?

メイン ウィンドウを作成する前にスプラッシュ スクリーンが表示されるアプリケーションがあります。スプラッシュ画面が表示されている間にユーザーが別のアプリケーションにフォーカスした場合、メインウィンドウが作成されたときにフォーカスを盗むのを避けたいです。

私のアプリケーションの起動は次のようになります。

メイン ウィンドウがアクティブにならないように、スプラッシュ スクリーンがフォーカスを失った場合にのみ に設定Window.ShowActivatedします。falseただし、これにより例外が発生します。

InvalidOperationException: ShowActivated が false で、WindowState が Maximized に設定されている場合、ウィンドウを表示できません。

実際、私の MainWindow は(以前のセッション設定から復元された)WindowStateに設定します。Maximized機能にこのような制限がある理由がわかりませんShowActivated。この問題に関するドキュメントは見つかりませんでした。

When is falseを強制しようとしWindowStateましNormalShowActivatedが、例外は防止されますが、ウィンドウもアクティブになります! ウィンドウの状態を変更すると、実際にアクティベーションが発生するのでしょうか?

これを回避するために使用できるトリックはありますか? メイン ウィンドウを最大化された状態に戻したいのですが、スプラッシュ スクリーン中にユーザーがアプリからフォーカスを外した場合に、メイン ウィンドウが他のアプリケーションからフォーカスを奪わないようにしたいと考えています。

0 投票する
1 に答える
3662 参照

excel - Excel の相互運用性: 最小化されたウィンドウの復元

com 相互運用機能を介して Excel と対話する私の winforms アプリでは、

既存の Excel プロセスがある場合は、それにアタッチしようとしています。オブジェクトの取得はうまくいっているように見えますが、Excel アプリケーションが最小化されている場合 (私の使用例ではかなりそうです)、ウィンドウを復元して前面に表示することができません。

私は次のステートメントを試しました:

これらのどれも効果がありませんでした。どうすればそれを達成できますか?

注:私の問題既存のインスタンスがある場合に関連しているため、「Visible = true」は必要なく、このスレッドは適用されません。

0 投票する
2 に答える
181 参照

c# - 開いているアプリケーションが最大化モードかどうかを示す C# のプログラム

他のアプリケーション ウィンドウの状態をキャプチャできるライブラリが Windows OS で利用できるかどうかを知りたい

0 投票する
4 に答える
72059 参照

.net - マウスカーソルで画面上で最大化されたWPFウィンドウを作成するにはどうすればよいですか?

WindowStartupLocation プロパティの MSDN ドキュメントによると:

CenterScreen を設定すると、マウス カーソルを含む画面の中央にウィンドウが配置されます。

CenterScreen フィールド自体の MSDN doc では、次のようにやや明確に定義されていませんが。

ウィンドウの起動位置は、ウィンドウを開いた画面の中央です。

簡単なテストでは、これが正常に機能していることを示しています。

MainWindow.xaml

MainWindow.xaml.cs

デュアル モニタ システムでこれをテストすると、ボタンをクリックしたときにマウス カーソルがある画面の中央に新しいウィンドウが表示されることがわかります。それはまさにそれがどのように機能するかです

ただし、ウィンドウを表示する前に最大化するように設定しようとすると、アプリケーションを起動したディスプレイでのみ新しいウィンドウが最大化されます。button_Click イベント ハンドラーを次のように変更して、意味を確認します。

これで、ウィンドウは、ボタンをクリックしたときにマウス カーソルがどこにあるかに関係なく、アプリケーションが起動された画面でのみ最大化されます。表示後にウィンドウの状態を最大化に設定すると、CenterScreen は正しく機能します。これは、ユーザーがウィンドウを最大化するのと同じです。例えば:

もちろん、ここでの問題は、ウィンドウを表示した後にウィンドウを最大化するのにはるかに時間がかかり、私のようなアプリでは、ウィンドウをすぐに配置する必要があることです.

解決策を知っている人はいますか?

0 投票する
2 に答える
1061 参照

.net - WindowState の RestoreBounds のようなもの

最小化して起動するアプリケーションがあります。

RestoreBounds を設定して、ユーザーが復元したときにウィンドウが復元するサイズを設定できます。

しかし、フォームを最大化された状態または通常の状態に復元する必要があるかどうかをどのように設定できますか? 標準はデフォルトです。RestoreWindowState のようなものがあればいいのにと思います。

どうにかしてAPIを使用してこれを行うことはできますか?