請教:
  .net 如何獲取當前活動窗體,用Form.ActiveForm返回居然為空?請各位幫忙

解决方案 »

  1.   

    获取该窗体的句柄:this.Handle.
      

  2.   

      補充一下,我有一個主窗體,用show方法啟動另一個窗體,另一個窗體有timer事件,每隔5毫秒運行一次,我想在事件的內容裡面獲取應用系統的當前活動窗體,用Form.AtiveForm返回為null,用api GetForegroundWindow 方法返回的值與能過Application.OpenForms中的任何一個form對象handle值都不相同,奇怪得很,通過Application.OpenForms總共就兩個窗體,為何api函數取加來的值居然一個都不等. 請大家解釋,又該如何獲取應用統當前活動窗體. 
      再加一個問題,如果我在子窗體定義一個BaseControl控件,想把主窗體的TextEdit傳送進去,然後在timer事件中找到如果當前活動窗體是子窗體,則讓BaseControl控件一直獲取焦點,也就是讓主窗體TextEdit一直獲取焦點,可是這時子窗體就隱藏了,沒有顯示在前端,如果可以讓子窗體通過show方法也一直顯示在前端,我就可以達到在主窗體TextEdit KeyDown事件之後,Show出子窗體,然後焦點還是定位在主窗體上,而子窗體也不會消失,繼續顯示它的內容.待焦點主窗體TextEdit控件之後再關閉子窗體。 求大俠回帖相助!!