我在另一个项目上有一个exe文件 现在,当我点击一个按钮时,我想调用它并停靠在一个标签页(tab control devexpress)中。
我不知道该怎么做。
请帮帮我。
答案 0 :(得分:0)
我相信你在谈论两件不同的事情。第一件事是在另一个项目上调用exe,你可以使用这段代码来实现:
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = false;
startInfo.UseShellExecute = false;
startInfo.FileName = "YOUR-EXE-PATH-HERE.exe";
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = "";
try
{
// Start the process with the info we specified.
// Call WaitForExit and then the using statement will close.
using (Process exeProcess = Process.Start(startInfo))
{
exeProcess.WaitForExit();
}
}
catch
{
// Log error.
}
第二件事是将应用程序停靠到选项卡控件,您已经不需要停靠和应用程序,这是不可能的,您将按钮或其他小部件停靠到选项卡控件,所选小部件代表您执行的应用程序,但尚未停靠到选项卡控件,只是您正在运行的后台任务的表示。以编程方式,您可以通过以下方式实现:
ImageList imageList1 = new ImageList();
imageList1.Images.Add("key1", Image.FromFile(@"C:\path\to\file.jpg"));
imageList1.Images.Add("key2", Image.FromFile(@"C:\path\to\file.ico"));
TabControl tabControl1 = new TabControl();
tabControl1.Dock = DockStyle.Fill;
tabControl1.ImageList = imageList1;
tabControl1.TabPages.Add("tabKey1", "TabText1", "key1");
tabControl1.TabPages.Add("tabKey2", "TabText2", "key2");
this.Controls.Add(tabControl1);
因此,您需要一个模型来表示程序调用的正在运行的进程(外部exe),并使用此模型添加带有图标和.exe名称的选项卡(为此您肯定需要从调用的.exe中读取一些图标数据) )到你的标签控件。