我想将 MenuItem 对象和 Button 控件对象转换为我可以引用其“Tag”属性的对象类型。
有这样的对象类型吗?
例如
void itemClick(object sender, EventArgs e)
{
Control c = (Control)sender;
MethodInvoker method = new MethodInvoker(c.Tag.ToString(), "Execute");
method.Invoke();
}
除了失败 - “无法将对象类型‘System.Windows.Forms.MenuItem’转换为类型‘System.Windows.Forms.Control’
这个例子中的Control可以用什么代替?
最佳答案
使用“as”运算符。
对象标签;
按钮按钮;
MenuItem menuItem = sender as MenuItem;
如果(菜单项!= null)
{
tag = menuItem.Tag;
}
else if( (button = sender as Button) != null )
{
tag = button.Tag;
}
别的
{
//不是按钮也不是MenuItem
}
关于c# - 是否有一种类型的对象,我可以将 Buttons 和 MenuItem 对象都转换到该对象以访问它们的 Tag 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/322971/