2012-09-10 57 views
0

我們需要在自動註銷期間關閉表單。我們通過迭代形式Application.OpenForms使用DateTimePicker關閉對話框

關閉對話框我們不能關閉對話框,如果對話框具有與壓延窗口的日期時間控制(DateTimePicker)是activive如所示的下列圖像

http://ww.functionx.com/vcnet/controls/images/Calendar4.gif

在我試圖通過調用Close方法來關閉表單。它沒有工作。

然後我發送WM_CLOSE消息關閉日曆窗口,如下所示,枚舉窗口後,然後在窗體上調用Close。在這種情況下,日曆窗口關閉。但形式並沒有關閉

if (sb.ToString() == "SysMonthCal32") 
{ 
    SendMessage(hWnd, 0x0010, IntPtr.Zero, IntPtr.Zero);    
} 

在這兩種情況下,如果我點擊對話框它關閉。

如何關閉表單?

+0

這是模態對話框嗎? – itsmatt

+0

是的,那是一個模態對話框 – Maanu

回答

0

我無法複製您的問題,這是,form.Close()的調用導致窗體關閉日期選取器控件是否打開。

dateTimePicker1.Hide(); 
dateTimePicker1.Show(); 

此:

我也發現我可以做的日期選擇控件「特寫」,通過調用其隱藏,然後顯示方法(也可以通過使用PostMessage的WM_CLOSE形成的HWND得到相同的結果)也具有不破壞任何窗口對象的優點,因爲Close(或WM_CLOSE)可能會這樣做。