【发布时间】:2013-12-23 07:03:56
【问题描述】:
我正在将 WinForms TabControl 中的所有标签页显示到 MenuStrip 中。
填充菜单非常简单,但是我似乎无法让事件处理程序在选择时将焦点设置到 TabPage。
由于标签页是动态创建的,它们没有对象名称。所以在 menu_click 事件中,tabEditor.SelectedTab = tabpage; 行没有意义。
如何链接 menu_click 事件以显示选定的选项卡?
private void pagesToolStripMenuItem_DropDownOpening(object sender, EventArgs e)
{
//first clear all items already loaded
pagesToolStripMenuItem.DropDownItems.Clear();
//now re-populate them
foreach (TabPage t in tabEditor.TabPages)
{
//create a menu item
ToolStripMenuItem menu = new ToolStripMenuItem(t.Text);
//add an event handler
menu.Click += new EventHandler(menu_Click);
pagesToolStripMenuItem.DropDownItems.Add( menu );
}
}
void menu_Click(object sender, EventArgs e)
{
ToolStripMenuItem menu = (ToolStripMenuItem) sender;
//Now show the Tab - something like this !
//
tabEditor.SelectedTab = tabpage;
}
【问题讨论】: