C#Windows窗体-菜单项单击事件-获取菜单项文本
如何获取已单击的任何给定菜单项的文本 菜单是动态填充的,因此我似乎仅限于此:C#Windows窗体-菜单项单击事件-获取菜单项文本,c#,winforms,C#,Winforms,如何获取已单击的任何给定菜单项的文本 菜单是动态填充的,因此我似乎仅限于此: Menu.MenuItems.Add(new MenuItem("MenuName", new EventHandler(menu_click))); 不幸的是,我看不到Eventhandler具有已单击菜单项的文本/名称 有办法解决这个问题吗?事件处理程序应该有一个对象发送器参数。如果将其强制转换为菜单项,则应该能够访问标题属性 void menu_click (object sender, EventArgs
Menu.MenuItems.Add(new MenuItem("MenuName", new EventHandler(menu_click)));
不幸的是,我看不到Eventhandler具有已单击菜单项的文本/名称
有办法解决这个问题吗?事件处理程序应该有一个
对象发送器参数。如果将其强制转换为菜单项
,则应该能够访问标题
属性
void menu_click (object sender, EventArgs e)
{
var clickedItem = sender as MenuItem;
if (clickedItem == null)
return;
if (clickedItem.HasHeader)
{
var text = clickedItem.Header;
}
}
事件处理程序应该有一个对象发送方
参数。如果将其强制转换为菜单项
,则应该能够访问标题
属性
void menu_click (object sender, EventArgs e)
{
var clickedItem = sender as MenuItem;
if (clickedItem == null)
return;
if (clickedItem.HasHeader)
{
var text = clickedItem.Header;
}
}
使用标准的.NET事件处理程序函数签名
(sender as Object, e as EventArgs) ' VB.NET syntax
。。。在事件处理程序中,您可以将sender
强制转换为MenuItem
,并访问所有属性。使用标准的.NET事件处理程序函数签名
(sender as Object, e as EventArgs) ' VB.NET syntax
。。。在事件处理程序中,您可以将sender
转换为MenuItem
,并访问所有属性。这是什么类型的菜单
既然你似乎是将事件直接附加到菜单项,那么我猜发送者就是你要寻找的
private void menu_click(object sender, EventArgs e)
{
MenuItem mi = sender as MenuItem;
// Access the clicked item here..
string text = mi.Text; // I guess it's called text(?)
}
这是什么菜单
既然你似乎是将事件直接附加到菜单项,那么我猜发送者就是你要寻找的
private void menu_click(object sender, EventArgs e)
{
MenuItem mi = sender as MenuItem;
// Access the clicked item here..
string text = mi.Text; // I guess it's called text(?)
}
您的事件处理程序将获得引发事件的对象作为“sender”参数。您必须将其强制转换为MenuItem,然后检查其“Text”属性:
public void MenuClickHandler(object sender, EventArgs e)
{
var menuItem = (MenuItem)sender;
var menuText = menuItem.Text;
}
您的事件处理程序将获得引发事件的对象作为“sender”参数。您必须将其强制转换为MenuItem,然后检查其“Text”属性:
public void MenuClickHandler(object sender, EventArgs e)
{
var menuItem = (MenuItem)sender;
var menuText = menuItem.Text;
}
您可以将发送者对象强制转换为菜单项并检索文本属性
void menu_click (object sender, EventArgs e)
{
var clickedItem = sender as MenuItem;
if (clickedItem == null)
return;
if (clickedItem.HasHeader)
{
var text = clickedItem.Header;
}
}
示例代码
Menu.MenuItems.Add(new MenuItem("MenuName", (o, ev) =>
{
MessageBox.Show((o as MenuItem).Text);
}));
您可以将发送者对象强制转换为菜单项并检索文本属性
void menu_click (object sender, EventArgs e)
{
var clickedItem = sender as MenuItem;
if (clickedItem == null)
return;
if (clickedItem.HasHeader)
{
var text = clickedItem.Header;
}
}
示例代码
Menu.MenuItems.Add(new MenuItem("MenuName", (o, ev) =>
{
MessageBox.Show((o as MenuItem).Text);
}));
问一个简单的问题,得到很多类似的答案:)哈……只有你知道答案,它们才容易!!问一个简单的问题,得到很多类似的答案:)哈……只有你知道答案,它们才容易!!