Eto.Formsでアプリケーションのアイコンを設定する

Eto.FormsのForm(正確には親のWindow)クラスには、Iconプロパティがあります。ここにアイコンを設定すると、例えばWindowsならウインドウ左上やタスクバー上に表示されます。

ここでは、サンプルとして、Alessandro Rei氏のGPLなアイコンセット「Dark Glass」の「editcopy」を使ってみます。特に選択に意味はありませんが。

プロジェクトの作成

例によって、プロジェクトを作成。今回は「Full .NET」を選びます。PCLだとリソースにアイコンファイルが設定できなかったので。

次に、アイコンをプロジェクトフォルダにコピーします。

メインフォームがある方のプロジェクト("Desktop"がつかない方)のプロパティから、リソースを開きます。ここで既存ファイルとして追加。

f:id:mokake:20170101222051p:plain

また、ソリューション エクスプローラで当該ファイルを選択し、ビルドアクションを「埋め込みリソース」にします。

f:id:mokake:20170101222104p:plain

次に、コンストラクタに追加。

Icon = Icon.FromResource(
    "EtoSample04.editcopy.ico", 
    System.Reflection.Assembly.GetExecutingAssembly() );

リソース名は、プロジェクト名.ファイル名 となります。

実行してみる

ビルドし、実行します。

f:id:mokake:20170101222147p:plain

左上のアイコンが、カスタマイズできています。

f:id:mokake:20170101222200p:plain

タスクバー上でも、設定したアイコンが反映できています。

なお、アプリケーション実行ファイルのアイコンは、別途リソースエディタかインストーラで設定する必要があります。