private void LoadIcons()
{
// Icons フォルダ以下のアイコンを読み込み(着せ替えアイコン対応)
var iconsDir = Path.Combine(Application.StartupPath, "Icons");
// ウィンドウ左上のアイコン
var iconMain = this.LoadIcon(Path.Combine(iconsDir, "MIcon.ico"));
// タブ見出し未読表示アイコン
var iconTab = this.LoadIcon(Path.Combine(iconsDir, "Tab.ico"));
// タスクトレイ: 通常時アイコン
var iconAt = this.LoadIcon(Path.Combine(iconsDir, "At.ico"));
// タスクトレイ: エラー時アイコン
var iconAtRed = this.LoadIcon(Path.Combine(iconsDir, "AtRed.ico"));
// タスクトレイ: オフライン時アイコン
var iconAtSmoke = this.LoadIcon(Path.Combine(iconsDir, "AtSmoke.ico"));
// タスクトレイ: Reply通知アイコン (最大2枚でアニメーション可能)
var iconReply = this.LoadIcon(Path.Combine(iconsDir, "Reply.ico"));
var iconReplyBlink = this.LoadIcon(Path.Combine(iconsDir, "ReplyBlink.ico"));
// タスクトレイ: 更新中アイコン (最大4枚でアニメーション可能)
var iconRefresh1 = this.LoadIcon(Path.Combine(iconsDir, "Refresh.ico"));
var iconRefresh2 = this.LoadIcon(Path.Combine(iconsDir, "Refresh2.ico"));
var iconRefresh3 = this.LoadIcon(Path.Combine(iconsDir, "Refresh3.ico"));
var iconRefresh4 = this.LoadIcon(Path.Combine(iconsDir, "Refresh4.ico"));
// 読み込んだアイコンを設定 (不足するアイコンはデフォルトのものを設定)
this.MainIcon = iconMain ?? Properties.Resources.MIcon;
this.TabIcon = iconTab ?? Properties.Resources.TabIcon;
this.NIconAt = iconAt ?? iconMain ?? Properties.Resources.At;
this.NIconAtRed = iconAtRed ?? Properties.Resources.AtRed;
this.NIconAtSmoke = iconAtSmoke ?? Properties.Resources.AtSmoke;
if (iconReply != null && iconReplyBlink != null)
{
this.ReplyIcon = iconReply;
this.ReplyIconBlink = iconReplyBlink;
}
else
{
this.ReplyIcon = iconReply ?? iconReplyBlink ?? Properties.Resources.Reply;
this.ReplyIconBlink = this.NIconAt;
}
if (iconRefresh1 == null)
{
this.NIconRefresh = new[] {
Properties.Resources.Refresh, Properties.Resources.Refresh2,
Properties.Resources.Refresh3, Properties.Resources.Refresh4,
};
}
else if (iconRefresh2 == null)
{
this.NIconRefresh = new[] { iconRefresh1 };
}
else if (iconRefresh3 == null)
{
this.NIconRefresh = new[] { iconRefresh1, iconRefresh2 };
}
else if (iconRefresh4 == null)
{
this.NIconRefresh = new[] { iconRefresh1, iconRefresh2, iconRefresh3 };
}
else // iconRefresh1 から iconRefresh4 まで全て揃っている
{
this.NIconRefresh = new[] { iconRefresh1, iconRefresh2, iconRefresh3, iconRefresh4 };
}
}