問題タブ [notifyicon]

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 に答える
7261 参照

c# - C#でnotifyiconを2つのアイコンの間で交互に作成するにはどうすればよいですか?

C# と WinForm で VS2010 を使用しています。特定の条件が満たされたときに、C# の通知アイコンが 2 つのアイコンを交互に表示するようにしたいと考えています。以下のコードは単一のアイコン用に作成されていることがわかりますが、プログラムで変更する方法がわかりません。「((System.Drawing.Icon)(resources.GetObject("notifyIcon.Icon")))」の部分は意味がありません。

私は試した...

しかし、うまくいきません。「System.Drawing.Icon' は 'type' です。指定されたコンテキストでは無効です」というエラーが表示されます。

助けてくれてありがとう

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

.net - Me.Hide で NotifyIcon が消える?

現在、NotifyIcon を必要とするマルチフォーム プロジェクトをコーディングしています。最初のフォームはログイン フォームで、「ログイン」フォームが開き、最後に別のフォームが開きます (これらはすべて FormName.ShowDialog() を使用して開かれ、次のフォームを開く前に非表示になります)。

ログインフォーム -> ログインフォーム -> 最終フォーム。

最終フォームを開くと、NotifyIcon の visible プロパティが true に設定され、通常どおりタスクトレイに表示されます。しかし、最終フォームで Me.Hide を使用すると、フォームと共に NotifyIcon が消えます。

何が起こっているかについてのアイデアはありますか?フォームが表示されていなくても、プログラムはバックグラウンドで実行されますが (これが意図された方法です)、NotifyIcon がなければ、フォームを再度表示する方法はありません。

編集 - 役立つ場合、ログインフォームは別のスレッドで開かれますが、デリゲートを使用しています。

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

c# - NotifyIcon(タスクバーアイコン)をクリックしてウィンドウを切り替えます

私のC#アプリケーションは、タスクバーアイコン(NotifyIcon)と最初は非表示になっているオーバーヘッドウィンドウで構成されています。ユーザーがNotifyIconをクリックしてウィンドウの表示を切り替えられるようにしたい(左、シングルクリック)。また、フォーカスを失うとウィンドウが非表示になります。

これは私がこれまでに持っているものであり、サブクラス化されていSystem.Windows.Forms.Formます:

初期化:

インスタンスメソッド:

アイコンをクリックすると、ウィンドウが表示されます。ただし、もう一度クリックすると、マウスが押されている間は非表示になり、その後、表示にリセットされます。

私の推測では、マウスダウンイベントはウィンドウからフォーカスを奪って消えます。次に、マウスアップイベントがトリガーされ、ウィンドウが非表示になっていることが表示されます。

私の次のアイデアは、マウスダウンイベントでのウィンドウの可視性を読み取ることだったので、3つのイベントをテストし、それらが呼び出されたときにUNIX時間を記録しました。

結果はかなり奇妙です。ウィンドウが表示されているとしましょう。これは、アイコンをクリックすると発生します。フォーカスロストはすぐに呼び出されます。マウスを離すとすぐに、マウスアップイベントの直前にマウスダウンが呼び出されます。

マウスダウンイベントが遅れるのはなぜですか?
ウィンドウを切り替えるにはどうすればよいですか?

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

c# - 通知アイコンがトレイ C# winforms に表示されない

Windows フォームを起動したときに通知アイコンがシステム トレイに表示されないのはなぜですか?
これが私がやっていることです。
Windowsフォームアプリケーションであるトレイアプリケーションを起動するWindowsサービスがあります(現在のユーザーのコンテキストでそのアプリケーションを起動するために偽装を使用しています)。トレイ アプリケーションで、通知アイコンを含むフォームを起動しています。
ここでの問題は、通知アイコンがシステム トレイに表示されないことがあり、その理由がわかりません。
フォームの OnLoad メソッドで、フォームの visible プロパティを false に設定しています。また、私はいくつかのリモーティング サービス コール (ipc など) を行っています。問題ありますか?
通知アイコンを常にシステム トレイに表示するにはどうすればよいですか?
編集: OnLoad 関数のコードは次のとおりです。

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

c# - リソースからnotifyIcon1を変更

このコードは、外部ファイルからアイコンを呼び出します。

可能であれば、リソースファイルからアイコンを変更しますか?

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

c# - NotifyIcon の使用時に WindowsState Minimized が機能しない

フォームが閉じられたときに NotifyIcon を表示しようとしています。閉じましたが、最小化ボタンをクリックすると閉じました。これが私のコードです。

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

c# - クリックした通知アイコンの上にフォームを配置します

Windows7およびWindowsVistaで、クリックした通知アイコンのすぐ上にフォームを配置する方法はありますか?

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

winforms - NotifyIcon に使用するアイコンの形式とサイズ

システム トレイ アイコンに関する情報が見つかりませんでした。可能な限り最高の品質を得るには、どのサイズにする必要がありますか。複数のサイズ (16x16、32x32、64x64) を使用する必要がありますか?

私は現在 16x16 の .ICO アイコンを使用していますが、それらはゆがんで見えます。

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

c# - NotifyIcon のクリックでフォームの表示を切り替え、他の場所をクリックすると非表示にします

システムトレイにあるアプリケーションがあります。notifyIconまだ表示されていない場合は、ユーザーがクリックしたときに表示したいと思います。すでに表示されている場合は、非表示にする必要があります。また、ユーザーがフォーム以外の場所をクリックすると、フォームは非表示になります (表示されている場合)。

私のコードは次のようになります。

コードの問題はonDeactivated、クリック呼び出しの前に呼び出され、フォームが非表示になり、notifyIcon1_MouseClicked再表示されることです。または他の場所をクリックしたためにフォーカスが失われたかどうかを検出できればnotifyIcon、問題は解決します。

私は調査を行い、同様のスレッドを見つけましたが、onDeactivated呼び出されたときにマウスの位置がトレイの上にあるかどうかを検出しただけの解決策です: NotifyIcon (タスクバー アイコン) をクリックしてウィンドウを切り替えます。

更新:投稿したソリューションは、ユーザーのマウスがタスクバーのトレイ アイコンの上にあるかどうかのみを検出するため、他のトレイをクリックしてもonDeactivatedイベントは発生しません。システム ボリューム アプリと同じ機能を取得したい。