如何调用项目(exe文件)作为选项卡控件winforms devexpress上的选项卡

时间:2015-04-16 02:25:30

标签: c# forms devexpress tabcontrol

我在另一个项目上有一个exe文件 现在,当我点击一个按钮时,我想调用它并停靠在一个标签页(tab control devexpress)中。

我不知道该怎么做。
请帮帮我。

1 个答案:

答案 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中读取一些图标数据) )到你的标签控件。