使用c#中的按钮从月历中获取文本框中的日期

时间:2012-10-24 07:55:36

标签: c#

我想在点击窗口形式的按钮后在文本框中使用月历日期。 打开表单时以及点击日历后可以隐藏日历时,应隐藏日历。

我正在使用Visual Studio 2008的c#。所以请根据这个工具给我回复。

2 个答案:

答案 0 :(得分:1)

使用DateTimePicker类来实现此目的。它完全符合您描述的行为。

答案 1 :(得分:0)

尝试使用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;
}