sol*_*arc 3 c# .net-3.5 winforms
我有一个方法设置为几个按钮和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;
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
因为没有定义Tag的Button和ToolStripMenuItem的公共基类或接口,所以您需要进行强制转换:
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");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5372 次 |
| 最近记录: |