默认显示日期是当日日期.如:2007年03月16日
当我点击Button按钮是弹出monthCalendar日期,在双击选择要的日期后monthCalendar日期自动关闭.显示的日期是刚选择的日期.
这个怎么实现
我做了一个.就是选择后,日期不能显示,monthCalendar日期框也不能在双击后自动关闭.
谁能给出代码??在线等.解决马上给分

解决方案 »

  1.   

    用DateTimePicker不能满足要求吗?
    一定要用monthCalendar吗?
    monthCalendar只用来显示日期还行,但是做为选择一个日期DateTimePicker我觉得更合适一些。
      

  2.   

    private void dates_Click(object sender, System.EventArgs e)
    {

    } private void Form1_Load(object sender, System.EventArgs e)
    {
    //dates中的日期显示---开始
    //DateTime datet =DateTime.Now;
    //this.dates.Text=datet.ToString("yyyy年MM月dd日", DateTimeFormatInfo.InvariantInfo);
    //dates中的日期显示---结束
    System.DateTime dt = System.DateTime.Now;
    SetToday(dt);
    }
    private void monthCalendar1_DateSelected(object sender, System.Windows.Forms.DateRangeEventArgs e)
    {
    SetToday(e.End);
    monthCalendar1.Visible = false;
    }
    private void monthCalendar1_DateChanged(object sender, System.Windows.Forms.DateRangeEventArgs e)
    {

    }
    private void SetToday(System.DateTime dt)
    {
    //dates.Text = dt.ToString("yyyy年MM月dd日", DateTimeFormatInfo.InvariantInfo);
    dates.Text =dt.Year.ToString(); 

    month.Text = GetLengthTwoDate(dt.Month.ToString());
    day.Text = GetLengthTwoDate(dt.Day.ToString());

    }
    private string GetLengthTwoDate(string p_MonthOrDay)
    {
    string strReturn = p_MonthOrDay;
    if (strReturn.Length == 1)
    {
    strReturn = "0" + strReturn;
    } return strReturn;
    }
    private void button1_Click(object sender, System.EventArgs e)
    {
    monthCalendar1.Visible = true;
    monthCalendar1.SetDate(new DateTime(int.Parse(dates.Text),int.Parse(month.Text),int.Parse(day.Text)));
    monthCalendar1.Focus();
    } private void month_Click(object sender, System.EventArgs e)
    {

    } private void day_Click(object sender, System.EventArgs e)
    {

    }