2009-07-17 62 views
0

我有一個父窗體,它將有兩個標籤分別調用兩個子窗體。 我做了這個使用MDI。例如,假設我有兩個名爲「計算器」和「記事本」的選項卡。我的意思是說, 選項卡的名稱是在Windows中運行的進程名稱。如何交換應用程序的可見性使用C#

我父窗體的行爲就像是一個全屏幕,並且用戶被限制爲使用Windows任務欄。

現在,當用戶點擊「計算器」選項卡時,我將應用程序放在父窗口的頂部。然後,如果用戶點擊「記事本」,那麼我想帶記事本前臺,並休息所有的應用程序shud在父窗體後面。更清楚的是,只需單擊具有進程名稱的相應選項卡即可查看一個應用程序。

這聽起來很乏味!

請幫助...

回答

1

覆蓋了的TabControl的TabIndexChanged事件,並確定哪些標籤頁現在是當前活動。根據活動選項卡頁面上,你再使用一個ProcessInfo實例加載你要運行的applcition:

這裏的代碼,讓你去:

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 

     tabControl1.SelectedIndexChanged += new EventHandler(tabControl1_SelectedIndexChanged); 
    } 

    void tabControl1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     ProcessStartInfo psi = null; 

     if (tabControl1.SelectedTab == tabPage1) 
     { 
      psi = new ProcessStartInfo("notepad.exe"); 
     } 
     else if (tabControl1.SelectedTab == tabPage2) 
     { 
      psi = new ProcessStartInfo("calc.exe"); 
     } 

     if (psi != null) 
     { 
      psi.ErrorDialog = true; 
      psi.ErrorDialogParentHandle = Handle; 
      Process.Start(psi); 
     } 
    } 
} 
+0

什麼,如果該進程已經開始??? 如果我想檢查過程是否已經運行,如果是這樣,只顯示應用程序。能夠 ? – Anuya 2009-07-17 07:52:58

相關問題