2011-01-28 73 views
0

我有一個C#應用程序,其中執行需要日期的函數。最初的規範說現在的日期總是可以使用,但現在我必須允許用戶能夠根據需要更改日期。使用C#中的日期選擇器創建模式窗口#

問題是,此操作在後臺完全執行。只有用戶點擊才能啓動該過程的菜單項。所以我想在用戶點擊菜單項時添加一個模式窗口,詢問用戶使用的日期,並返回輸入的日期。我一直無法找到辦法做到這一點。

我是否需要創建一個只有一個項目的窗體 - DatePicker - 並將其設計爲看起來像模態窗口?或者是否有一個現有的模式窗口類正是這個嗎?

回答

2

我不認爲框架中內置了一個模式窗口。

您將不得不創建一個新的窗體。把日期選擇器放在上面。使其改性公衆和做這樣的事情:

private void MenuItemClick(objec sender, EventArgs e) 
{ 
    var userEnteredDate = DateTime.MinValue; 
    FormWithDate fmNewFormWithDateOnIt = new FormWithDate(); 
    fmNewFormWithDateOnIt.ShowDialog(); 
    userEnteredDate = fmNewFormWithDateOnIt.dtTimePickerOnForm.Value; 
    fmNewFormWithDateOnIt.Dispose() 

    //Do your thing 
} 

UPDATE:你可以把表單上的按鈕,並設置其的DialogResult = OK,然後執行以下操作:

if (fmNewFormWithDateOnIt.ShowDialog() == DialogResult.OK) //Not clicked the red close button on the form 
{ 
     userEnteredDate = fmNewFormWithDateOnIt.dtTimePickerOnForm.Value; 
} 
+0

但如何我知道用戶是否更改了日期 - 這看起來好像只是在表單加載時從表單中獲取值,而不是等待用戶點擊好吧... – Elie 2011-01-28 16:21:59

相關問題