如何使用c#在messagebox上显示DateTimePicker控件?

时间:2012-08-13 10:22:39

标签: c# windows datetime

是否可以在消息框上显示DateTimePicker控件以在控制台应用程序中选择日期。

4 个答案:

答案 0 :(得分:1)

不在标准MessageBox上。您需要创建自己的表单才能显示。

答案 1 :(得分:0)

`public MyClass()
 {
 // Create a new DateTimePicker
 DateTimePicker dateTimePicker1 = new DateTimePicker();

 Controls.AddRange(new Control[] {dateTimePicker1});
 MessageBox.Show(dateTimePicker1.Value.ToString());

 dateTimePicker1.Value = DateTime.Now.AddDays(1);
 MessageBox.Show(dateTimePicker1.Value.ToString());
 }

`

这是一种在消息框中访问日期选择器控件的方法。

你到底做了什么?你能解释一下这个要求吗?

答案 2 :(得分:0)

MessageBox是一个方便的功能。这种便利是以定制为代价的。 MessageBox没有提供向其添加自己的控件的方法;你必须创建自己的表格。

请注意,即使在控制台应用程序中,您仍然可以创建Windows窗体。

答案 3 :(得分:0)

我知道它已经很晚了但是如果有人正在考虑如何去做。使用CustomMessageBox而不是MessageBox。可以找到教程Here

TimePicker timePicker = new TimePicker()
                {
                    Margin = new Thickness(0, 10, 0, 10)
                }; 

                StackPanel myStackPanel = new StackPanel();
                myStackPanel.Orientation = System.Windows.Controls.Orientation.Vertical;
                myStackPanel.Children.Add(timePicker);                    

                //Create a new custom message box
                CustomMessageBox messageBox = new CustomMessageBox()
                {
                    Content = myStackPanel,
                    LeftButtonContent = "Ok",
                    RightButtonContent = "Cancel",                        
                    IsFullScreen = false                        
                };

                messageBox.Show();