【发布时间】:2012-10-24 23:59:39
【问题描述】:
单击窗口窗体的按钮后,我想在文本框中使用月历日期。 表单打开时日历应隐藏,单击按钮后日历可见。
我正在使用 c# 和 Visual Studio 2008。所以请根据这个工具给我回复。
【问题讨论】:
-
请告诉我这个特定问题的正确答案
-
bitbonk 是正确的,这会做你想要的。
标签: c#
单击窗口窗体的按钮后,我想在文本框中使用月历日期。 表单打开时日历应隐藏,单击按钮后日历可见。
我正在使用 c# 和 Visual Studio 2008。所以请根据这个工具给我回复。
【问题讨论】:
标签: c#
为此使用DateTimePicker 类。它具有您所描述的行为。
【讨论】:
尝试使用Control.Show()方法和Control.Visible属性:
private MonthCalendar _monthCalendar;
public Form1()
{
InitializeComponent();
// invisible on startup
_monthCalendar.Visible = false;
_monthCalendar.MaxSelectionCount = 1;
}
private void button1_Click(object sender, EventArgs e)
{
//show when needed
_monthCalendar.Show();
}
private void textBox1_Enter(object sender, EventArgs e)
{
_monthCalendar.Show();
}
private void textBox1_Leave(object sender, EventArgs e)
{
if (!_monthCalendar.Focused)
_monthCalendar.Visible = false;
}
private void monthCalendar_DateSelected(object sender, DateRangeEventArgs e)
{
var monthCalendar = sender as MonthCalendar;
textBox1.Text = monthCalendar.SelectionStart.ToString();
}
private void monthCalendar_Leave(object sender, EventArgs e)
{
var monthCalendar = sender as MonthCalendar;
monthCalendar.Visible = false;
}
【讨论】: