問題タブ [topmost]
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# - 別のアプリのウィンドウを一番上にした後、フォーカスが失われました
別のアプリのウィンドウを一番上にして、自分のアプリをクリックすると他のアプリのダイアログが表示されるようにします。私が抱えている問題は、電話をかけた後、アプリにフォーカスが戻らないことです。他のアプリにさらに多くのウィンドウがある場合、そのうちの1つにフォーカスがあり、それ以外の場合、ウィンドウ(タスクバーのみを見る)はフォーカスを取得しません。問題の調査はどこから始めればよいですか?
他のアプリを最上位にするための私のコードは次のとおりです。
定数として
c# - WinForms の親フォームに関してのみ最上位にある非モーダル最上位ダイアログを作成するにはどうすればよいですか?
Aboutダイアログでこれについて考えていますが、他の場所(検索ボックスなど)にも適用できると確信しています
これがだまされている場合は申し訳ありませんが、これを見つけることができなかったか、親の上にあるだけであるという最後の部分を明確にする方法を見つけることができませんでした。常に親フォームの上にあり、モーダルではなく、他のアプリを覆い隠していないフォームを作成するにはどうすればよいでしょうか?
.net - TopMost と Invoke を含む Z オーダーの問題
Form.ShowDialog() でダイアログを表示しています。フォームは TopMost に設定されています。一部の画像処理計算は、バックグラウンドで非同期に実行されます。それらの結果は、Invoke によってメイン フォームにレンダリングされます。ここまでは順調ですね。奇妙なことは、時々モーダル ダイアログがメイン フォームの後ろに移動することです。ダイアログを構築するメッセージが Invoke によって何らかの形で「邪魔された」場合に発生すると思います。
この問題を解決する方法はありますか?
c# - ShowDialog() が最上位にならないように設定できますか?
ShowDialog() を最上位にならないように設定する方法はありますか? 関連する SO の質問をすべて調べましたが、私の状況とまったく一致するものはありませんでした。
私がしているのは、datagridview ボタン列から新しい WinForm を開くことです。この新しいフォームは、いくつかの SQLite テーブルから情報を取得し、ユーザーがボタンをクリックした行に情報を追加できるようにします。
以下のコードを使用して WinForm を開きます。ShowDialog() メソッドを使用して、ユーザーがフォームに情報を保存したかキャンセルしたかを判断できるようにします。
これを行うのは、datagridview に情報をリロードする必要があるかどうかを判断できるようにするためです。
ユーザーがウィンドウに入力できる情報は、Web ブラウザーなどの他のソースからのものであるため、フォームをすべてのアプリケーションの上に置くことは理想的ではありません。
ウィンドウがすべてのアプリケーションの上に表示されないようにする方法はありますか (一連のウィンドウの一番上で問題ありません)、またはユーザーが別のフォームでどのボタンをクリックしたかを知る方法はありますか (基本的に、使用paywindow.Show()
および監視)別の種類の返品の場合)?
助けてくれてありがとう!
c# - WinFormアプリで最上位のフォームのハンドルを取得するにはどうすればよいですか?
他の子フォーム(mdiではない)を持つWinFormアプリがあります。ユーザーが「Esc」を押すと、フォーカスがなくても一番上のフォームを閉じる必要があります。
キーボードフックを使用してエスケープをグローバルにキャッチできますが、フォームのハンドルも閉じる必要があります。
Win32 APIを使用してそれを行う方法があると思いますが、マネージコードを使用する解決策はありますか?
c# - アプリケーションでのみ他のすべてのウィンドウの上にウィンドウを保持するにはどうすればよいですか?
C#Windowsフォームアプリケーションにステータスウィンドウを表示して、アプリケーションがロックの取得を待機していることをユーザーに通知したいと思います。これはアプリケーションで定義されたものですが、ユーザーが別のウィンドウ(たとえば、背後にある大きなメインウィンドウなど)をクリックした場合でも、ウィンドウは表示され、アプリケーションの他のすべてのウィンドウの上に常に表示される必要があります。
アプリはバックグラウンドで試行を続け、最終的にロックが取得される可能性がある場合はウィンドウを自動的に閉じる必要があるため、モーダルであってはなりません(したがって、ShowDialog()は使用できません)。実際には、ウィンドウ全体で最上位にすべきではありません。ステーション(つまり、そのターミナルセッションで実行されているすべてのアプリケーション)。
Form.TopMostプロパティを知っていますが、他のアプリケーションからのものであっても、他のすべてのウィンドウの上に1つのウィンドウしか表示および保持できません。これは明らかに私が探しているものではありません。
私はこれが可能であることを知っています、私は他のアプリケーションでそれを以前に何度も見ました。どうすればいいのかわからない。
c# - C# - 2 つの「TopMost」フォームを処理する方法は?
TopMost に設定された親フォームがあり、ボタンをクリックすると開く別のフォームがあります。この子フォームも TopMost に設定されています。私が抱えていた最初の問題は、子フォームを開いたときに、何もアクセスできなかったため、アプリケーションが基本的にフリーズすることでした。ShowDialog() を使用して子フォームを開く代わりに、Show(this) を使用することにしました。これで最初の問題は解決しましたが、今は新しい問題があります。childforms の開始位置は CenterParent に設定されており、Show(this) を使用すると機能しません。子フォームの開始位置を CenterParent に設定しながら、子フォームと親フォームの両方を最上位に設定しながら子フォームを開く方法はありますか? ありがとうございました。
wpf - 親ウィンドウの WPF TopMost フラグが子ウィンドウに継承されないようにする方法
TopMost=true を持つ WPF ウィンドウがあります。このウィンドウから別のウィンドウを呼び出し、最上位のウィンドウを親として指定すると、所有されているウィンドウも TopMost として表示されます。
親が子を引き続き所有できるように、それが起こらないようにする方法を見つけたいと思いますが、子は TopMost=True を持っていません。
わざわざ子に所有者を設定することはできず、TopMost フラグを取得できないことはわかっていますが、すべてのウィンドウを親ウィンドウで閉じる必要があり、処理するロジックを記述する必要があります。含まれています。
子がロードされた後に TopMost=False を明示的に設定しようとしましたが、うまくいきませんでした。オーナー ウィンドウが TopMost であるかどうかは関係ないようです。
何か案は?
vb.net - VB.NET での TopMost の切り替え
一定期間上にある必要があるフォームがあり、その後、通常は他のウィンドウの後ろに設定できます。Me.TopMost
設定以外に何かすることはありますTrue
かFalse
?うまくいかないようなので質問します。
winforms - プロセスを開始する
次のような FullscreenMode を実装する C# .Net 2.0 アプリがあります。
ユーザーが FullscreenMode で、何も起こらない (ユーザーに表示される) ヘルプを開こうとすると、HelpWindow がフルスクリーン フォームの背後に表示されます。ヘルプファイルは次のように openend されます:
Process
TopMostを開始したり、呼び出しフォームの前に持ってくることは可能ですか? もしそうなら、どのように?