我需要在WinForm中的TabControl的TabPage中启动我的应用程序。 它工作正常,但当我点击MenuStrip项目时,它不显示子菜单。但是Click事件有效.Plus,我在StatusStrip中使用了一个标签作为按钮,并且Click事件不会触发。
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = MYAPP;
info.Arguments = "/noresize";
info.UseShellExecute = true;
info.CreateNoWindow = true;
info.WindowStyle = ProcessWindowStyle.Minimized;
info.RedirectStandardInput = false;
info.RedirectStandardOutput = false;
info.RedirectStandardError = false;
System.Diagnostics.Process p = System.Diagnostics.Process.Start(info);
p.WaitForInputIdle();
Thread.Sleep(3000);
Process[] p1;
var tp = new TabPage();
tp.Text = Path.GetFileName(file).Replace("Parser-", "").Replace(".exe", "");
tabControl1.TabPages.Add(tp);
if (p.MainWindowHandle == null)
{
List<String> arrString = new List<String>();
foreach (Process p2 in Process.GetProcesses())
{
// Console.WriteLine(p1.MainWindowHandle);
arrString.Add(Convert.ToString(p2.ProcessName));
}
p1 = Process.GetProcessesByName(Path.GetFileName(file));
//p.WaitForInputIdle();
Thread.Sleep(5000);
SetParent(p1[0].MainWindowHandle, tp.Handle);
_intPtrs.Add(p1[0].MainWindowHandle);
}
else
{
SetParent(p.MainWindowHandle, tp.Handle);
_intPtrs.Add(p.MainWindowHandle);
}
即使我将AllowMerge设置为False。我怎样才能使它发挥作用?
感谢。
答案 0 :(得分:0)
在这种情况下,我无法找到任何使.Net MenuStrip工作的解决方案。
对于那些有同样问题的人,我已经测试了DevExpress XtraBars Bar,效果很好!所以我切换到DevExpress菜单栏。