gpt4 book ai didi

c# - 在单击事件处理程序中从 ToolStripMenuItem 和 Button 获取 Tag 属性

转载 作者:行者123 更新时间:2023-11-30 15:08:58 26 4
gpt4 key购买 nike

我在几个按钮和 ToolStripMenuItems 中为点击事件处理程序设置了一个方法。

我想获取发件人的 Tag 属性以查看单击了哪个,但似乎无法将 ToolStripMenuItems 转换为 Control。

如何获取 Buttons 和 ToolStripMenuItems 的 Tag 属性?

这是我的方法的简化版本。

private void menu_Click(object sender, EventArgs e)
{
switch (((Control)sender).Tag.ToString())
{
case "X":
// do something
break;
case "Y":
//do something else
break;
default:
//something else
break;
}
}

谢谢!

最佳答案

因为没有定义 Tag 的 Button 和 ToolStripMenuItem 的公共(public)基类或接口(interface),所以您需要进行强制转换:

internal static object GetTag(object sender)
{
Button button = sender as Button;
ToolStripItem tsi = sender as ToolStripItem;

if (button != null)
return button.Tag;
if (tsi != null)
return tsi.Tag;

throw new ArgumentException("Unexpected sender");
}

关于c# - 在单击事件处理程序中从 ToolStripMenuItem 和 Button 获取 Tag 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4963416/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com