如何使用MonthCalender在文本框中插入日期?

Aan*_*Aan 0 .net c# c++-cli monthcalendar

我有一个textBox1Windows窗体.我想用它来获取用户的日期.我想显示MonthCalender1一旦用户将光标放入textbox1,然后textbox1自动设置日期,然后日历将消失.我如何使用C#或C++/CLI来做到这一点?

sig*_*urd 5

这不是最好的代码,但我希望你能得到这个想法:

public Form1()
{
    InitializeComponent();
    monthCalendar1.MaxSelectionCount = 1;
}

private void textBox1_Enter(object sender, EventArgs e)
{
    monthCalendar1.Visible = true;
}

private void textBox1_Leave(object sender, EventArgs e)
{
    if (!monthCalendar1.Focused)
        monthCalendar1.Visible = false;
}

private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e)
{
    var monthCalendar = sender as MonthCalendar;
    textBox1.Text = monthCalendar.SelectionStart.ToString();
}

private void monthCalendar1_Leave(object sender, EventArgs e)
{
    var monthCalendar = sender as MonthCalendar;
    monthCalendar.Visible = false;
}
Run Code Online (Sandbox Code Playgroud)

首先,设置MaxSelectionCountfor monthCalendar控件.接下来,添加事件侦听器以保留焦点并获得焦点.如果你没有使它工作,我可以在我测试它的地方提供样品解决方案.