ProcessStartInfo を使用すると、アプリをより詳細に制御できます
TreeView ノードを作成するときに、各 TreeNode.Tag プロパティ内にアプリへのフル パスを配置し、それを取得してプロセスを実行します。
using System.Diagnostics;
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
//Retrieving the node data
TreeNode myClickedNode = (TreeNode)sender;
//The pointer to your new app
ProcessStartInfo myAppProcessInfo = new ProcessStartInfo(myClickedNode.Tag);
//You can set how the window of the new app will start
myAppProcessInfo.WindowStyle = ProcessWindowStyle.Maximized;
//Start your new app
Process myAppProcess = Process.Start(myAppProcessInfo);
//Using this will put your TreeNode app to sleep, something like System.Threading.Thread.Sleep(int miliseconds) but without the need of telling the app how much it will wait.
myAppProcess.WaitForExit();
}
すべてのプロパティについては、MSDN ProcessStartInfo Classおよび MSDN Process Classを参照してください。