2013-02-05 30 views
6

作成したフォームにアイコンを追加します。 VS2012を通してプログラムを実行すると、アイコンがタスクバーに表示されます。しかし、プロジェクトを公開してインストールした後、アイコンはフォームの枠線に表示されますが、タスクバーには表示されません。私はここで間違って何をしていますか?Windowsフォームアイコンがタスクバーに表示されないC#

アイコンのサイズを変更しようとしました。

+1

そして、プロダクションevnironemntのタスクバーには何が表示されていますか? 'WinForms'アプリケーションのデフォルトのアイコンですか? –

+0

eMi私の問題を解決しました。しかし、助けてくれてありがとう! :)はい、それはデフォルトの空白のウィンドウアイコン – Lahib

+1

でしたので、eMiの答えに同意してください。あなたの問題に対する解決策を見つけたことを誰もが知っています。これは、同じ問題を抱えている他の人にも役立ちます。 –

答えて

14

プロジェクトのプロパティにアクセスし、アプリケーションタブでアイコンを設定しましたか(混乱を避けるためにメインウィンドウに使用するのと同じアイコンでなければなりません)。

+0

私はしませんでした。私の問題を解決してくれてありがとう。 – Lahib

+0

あなたは歓迎です:) – eMi

1

フォームのプロパティにアクセスし、行を確認しましたか?Show icon = "True"?

0

notifyIconプロパティ>アイコン」のアイコンも追加できます。

0

適切なキーボードフォーカスを受け取るまで、ダイアログ/フォームアイコンはタスクバーに表示されません。私は「適切な」焦点が何であるかはっきりしていませんが、窓を作った人はいませんでした。この問題は、最初の形式のアクティベートイベントが欠落しています(ああ、それは定期的に起こります)。これは、(Windowsアプリケーションで)すべてのフォームを非表示にして、次のフォームを表示すると発生する可能性があります。

は、これは動作しません:

newForm.Show() ; 
currentForm.Hide() ; //The newForm does not have the proper focus yet 

// actualy in this moment (I think) your application loose focus beacuse there is no application window. 


これはトリックを行うことがあります。あなたは、あなたが前のフォームを非表示にする前に、次のフォームを表示した後、非表示にすることができますたび

newForm.Shown += newForm_Shown ; 
newForm.Show() ; 
void newForm_Shown (object sender , EventArgs e) 
{ 
    currentForm.Hide() ; 
} 

新しいフォームの表示/アクティブ化イベント中の現在のフォーム。 私が知っている追加的な仕事は、遅延したフォームのアクティブ化を行うことです。いくつかのフォームの起動方法でBeginInvokeのようなものを試すことができますが、これは概して悪い考えです。

関連する問題