私は次のように を持っていToolStrip
ますContextMenu
:
次のように、リソースに 2 つのアイコンがあります。
アイコンを16x16の対応するアイコンに切り替えようとしています:
void largeIconsToolStripMenuItem_Click(object sender, EventArgs e)
{
var ContextItem = (ToolStripMenuItem) sender;
var ContextMenu = (ContextMenuStrip) ContextItem.Owner;
var ToolStrip = (ToolStrip) ContextMenu.SourceControl;
var Checked = ContextItem.Checked;
ToolStrip.ImageScalingSize = Checked ? new Size(32, 32) : new Size(16, 16);
foreach(ToolStripButton Button in ToolStrip.Items)
Button.Image = Resources.t_new16;
}
foreach
これは機能しますが、個々のアイコンごとに新しい行を追加したくありません。t_icon16
現在のリソース名を に置き換えるにはどうすればよいt_icon32
ですか?
Name
で物件を探してみましたButton.Image
が、ありません。
私も試しました:
foreach(ToolStripButton Button in ToolStrip.Items)
foreach(PropertyItem P in Button.Image.PropertyItems)
MessageBox.Show(P.Id.ToString() + " - " + P.Value.ToString());
しかし、MessageBox
es は表示されません。
リソース イメージを動的にスワップするにはどうすればよいですか?