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

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

winforms - プロセスを開始する

次のような FullscreenMode を実装する C# .Net 2.0 アプリがあります。

ユーザーが FullscreenMode で、何も起こらない (ユーザーに表示される) ヘルプを開こうとすると、HelpWindow がフルスクリーン フォームの背後に表示されます。ヘルプファイルは次のように openend されます:

ProcessTopMostを開始したり、呼び出しフォームの前に持ってくることは可能ですか? もしそうなら、どのように?

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

listview - (WinForms)ListViewは、フォームが最上位にある場合、独自のフォームの背後にツールチップを表示します

ListViewだけを含むフォームがあります。ListViewは、サブアイテムのツールチップを表示するように設定されています(詳細ビュー)。フォームが一番上にない場合は、ツールチップが正常に表示されます。フォームのTopMostをtrueに設定すると、ツールチップがウィンドウの「後ろ」に表示されます。

フォーム上でツールチップを通常どおり表示するために設定する必要のある他のプロパティ/プロパティの組み合わせはありますか?

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

c# - 独自のアプリケーションのみのWPFウィンドウ最上位?

私の WPF アプリケーションの Splashscreen/Loading-Window は Topmost ="True"に設定されています。このウィンドウは、別のアプリケーションに切り替えた場合でも、他のすべてのウィンドウの上に表示されます (読み込みに時間がかかるため)。私はこの種の振る舞いを望んでいません。

Topmost="False"を設定すると、ウィンドウはまったく最上位にはなりません。しかし、別のアプリケーションで作業した後に私のアプリケーションに戻ると、顧客は Loading-Windows がまだ機能していることに気付かないことがあります。バックグラウンドの Loading-Window がまだアクティブ ウィンドウであり、モーダルであるため、アプリケーションが応答していないように見えます。

アプリケーションがフォアグラウンドにある場合に限り、Loading-Window を一番上に置きたいです。別のプログラムに切り替えると、ウィンドウが消え、元に戻すと最前面に再表示されます。

0 投票する
19 に答える
113475 参照

c# - WPF ウィンドウをアプリの他のすべてのウィンドウ (システム全体ではない) の上に表示する方法は?

自分のウィンドウを自分のアプリケーションでのみ、他のすべてのウィンドウの上に表示したい。ウィンドウの TopMost プロパティを設定すると、すべてのアプリケーションのすべてのウィンドウの上に表示されるので、それは望ましくありません。

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

c# - XAML ウィンドウを常に最前面に設定する (ただし、TopMost プロパティはありません)

OptiTrack SDK (NaturalPoint 製) に基づいてアプリケーションを開発しています。アプリケーション ウィンドウを「常に最前面」として実行する必要があります。ウィンドウは XAML で設計されており、「CameraView」クラスで制御されますが、「TopMost」プロパティまたは同等のものは含まれていないようです。「Single_Camera_CSharp_.NET_3.0」という OptiTrack SDK (NaturalPoint) の一部である「CameraView.xaml.cs」のコードと「CameraView.xaml」のコードが添付されています。

クラス CameraView には、画面上のウィンドウの位置を設定するため、またはウィンドウを TopMost に設定するためのプロパティまたはメンバーが含まれていると予想できますが、検索した限り、何も見つかりませんでした。どうしたらいいのかしら。

ありがとう、ブライアン

================

「CameraView.xaml.cs」

================

「CameraView.xaml」

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

c# - Windows フォームの TopMost プロパティに関する本当に迷惑なバグ

通知領域にあるこの Windows フォーム アプリケーションがあります。アイコンをクリックすると前面に表示され、もう一度クリック (またはアプリ X アイコンをクリック) すると元に戻ります。これは、アイコンをクリックして表示するときにウィンドウを常に手前に表示することが重要なタイプのアプリです (オプションですが)。

アイコンを右クリックするとコンテキスト メニューが表示され、[常に手前に表示] オプションを有効にするかどうかを選択できます。アプリケーションが最初に起動すると、アプリケーションの設定が XML ファイルから読み取られます。これが正常に機能していることは 99% で、TopMostプロパティは適切に読み取られます (および書き込まれます)。

しばらくすると(分、時間、日など、通常は休止状態になり、シャットダウンすることはめったにありません)、TopMost 動作が停止します。オプションを変更しません。オプションの値が変更されているとは思いませんが、通知領域のアイコンをクリックすると、アプリが前面に表示されません。表示されますが、背景にあります (Alt+Tab で表示されます)。本来あるべき「常に一番上」ではありません。コンテキストメニューを表示し、オプションを無効にして(有効になっているため)、再度有効にすると、その後動作し始めます。アプリは「常に一番上」になりました。ただし、しばらくするといつでもこの能力を失う可能性があります。

なぜこれが起こるのか、どのように起こるのか理解できません。誰かが理由を知っていますか?そうでない場合、そのような動作をデバッグするにはどうすればよいですか?

編集:プロパティが変更され
たときに MessageBox を表示するコードを追加して、奇妙な動作に気付くことができるかどうかを確認しましたが、うまくいきませんでした。TopMostフォームは付いていたので役に立ちませんでしたTopMost = trueが、まだバックグラウンドにありました...

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

c# - ヘルプ ファイルを TopMost にしない

プロセスを作成してヘルプファイルを起動しました

しかし、このヘルプファイルはトップフォームを表示しており、たとえばフォルダを開く必要があるのですが、常にこのプロセスの下にあります。プロセスを「通常」にする方法を教えてください。- 一番上であってはいけません!

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

c++ - 一番上のウィンドウを一番上に保つ方法は?

最初に「なぜ必要なのか」という回答が予想されるので、なぜ必要なのかを最初に説明します。マウスカーソルが画面の端にあることを検出したいのですが、フックを使用したくありません。したがって、1ピクセル幅のTOPMOST非表示ウィンドウを作成しました。

私はWinXPでC++を使用しているので、ウィンドウが作成されると(CreateWindowEx(WS_EX_TOPMOST | WS_EX_TRANSPARENT ...)すべてが正常に機能します。

残念ながら、ユーザーが別の最上部のウィンドウ、たとえばタスクバーをウィンドウ上で移動した場合、マウスは移動しません。

私はこれを、「MDIウィンドウを常にトップに保つ方法」で提案されているアプローチと同様に解決しようとしました。

最初にWM_WINDOWPOSCHANGEDで一番上のウィンドウのZオーダーをチェックしようとしました

それでも、pWP-> hwndは私のウィンドウを指し、pWP-> hwndInsertAfterは0です。これは、タスクバーで覆われていても、私のウィンドウがZの上部にあることを意味します。それから私は試しました:

そして、「デフォルトのIME」ウィンドウが私のウィンドウの上にあることが常にわかります。SetWindowPos()またはBringWindowToTop()を使用してウィンドウを一番上に表示しようとしても、「デフォルトのIME」が一番上に残ります。「デフォルトIME」とは何か、タスクバーがウィンドウの上部にあるかどうかを検出する方法がわかりません。

だから私の質問は:私の一番上のウィンドウがもう一番上のウィンドウではないことを検出する方法とそれを一番上に保つ方法は?

PS定期的にウィンドウを一番上に表示する「ブルートフォース」アプローチは機能しますが、醜く、たとえば通知ウィンドウで望ましくない推論が発生する可能性があることを私は知っています。(ウィンドウを一番上に移動すると、通知ウィンドウが非表示になります。)

あなたの時間と提案に感謝します!

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

c# - Windows フォームが遮られているかどうかを判断する

.Net (または pinvoke 経由) で、ウィンドウ フォームがビューから遮られているかどうかを判断することは可能ですか (つまり、他のウィンドウがその上に移動されているため、表示されません)。私がやっていることは、フォームが最小化されているかどうかを確認し、最小化されている場合はタスクバーのウィンドウを点滅させることです。ただし、問題は、最小化されておらず、バックグラウンドに移動しただけの場合、タスクバーのウィンドウを点滅させてユーザーに通知したいことです。ウィンドウを自動的にフォアグラウンドに移動したくありません (アクティベートしなくても)。それをクリックして、フォームを最大化および/または表示してもらいたいです。アイデア?

ここにいくつかのコードがあります:

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

r - Rのベクトルから5つの最上位の値を返す方法は?

ベクトルがあり、最高値と最低値を返すことができますが、最上位の 5 つの値を返すにはどうすればよいですか? これに対する簡単な1行の解決策はありますか?