在C#中使用日期选择器创建模式窗口

时间:2011-01-28 16:11:36

标签: c# datepicker

我有一个C#应用程序,其中执行需要日期的功能。原始规范说可以始终使用当前日期,但现在我必须允许用户能够按需更改日期。

问题是,此操作在后台完全执行。用户单击以启动该过程只有一个菜单项。因此,当用户单击菜单项时,我想添加一个模态窗口,询问用户要使用的日期,并返回输入的日期。我一直无法找到办法。

我是否需要创建一个只有一个项目的表单 - DatePicker - 并将其设计为模态窗口?或者是否有一个现有的模态窗口类正是这样做的?

1 个答案:

答案 0 :(得分:2)

我认为框架中没有内置模态窗口。

您必须创建一个新的Windows窗体。在上面放一个日期选择器。将其修饰符公开并执行以下操作:

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;
}