在grid gridv2 simplegrid里面有3个UI,missionplanner里存在这个combobox,通过单例模式我加入到了Combobox里,分别为gridui,gridv2,simplegrid,我该如何给选中combobox的选项时对应显示ui呢?由于不在一个项里,我不能直接调用UI
附一些单例模式的代码
public override bool Loaded()
{
Grid.Host2 = Host;
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(GridUIv2));
var temp = (string)(resources.GetObject("$this.Text"));
but = new ToolStripMenuItem(temp);
but.Click += but_Click;
bool hit = false;
ToolStripItemCollection col = Host.FPMenuMap.Items;
int index = col.Count;
foreach (ToolStripItem item in col)
{
if (item.Text.Equals(Strings.AutoWP))
{
index = col.IndexOf(item);
((ToolStripMenuItem)item).DropDownItems.Add(but);
hit = true;
break;
}
}
if (hit == false)
col.Add(but);
return true;
}
void but_Click(object sender, EventArgs e)
{
var gridui = new GridUIv2(this);
MissionPlanner.Utilities.ThemeManager.ApplyThemeTo(gridui);
gridui.ShowDialog();
}
public override bool Exit()
{
return true;
}
代码中的第一个添加but是放在了contextmstrip里,第二个是我放到combobox里,想实现类似but.click的操作,选中combobox里的项并没有反应。