选择时如何在Datetimepicker控件中获取两个日历 [英] how to get two calendars in Datetimepicker control when it selected

查看:45
本文介绍了选择时如何在Datetimepicker控件中获取两个日历的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

先生,

我在Windows应用程序中使用DateTimePicker控件.

如果选择DateTimePicker,将显示.

我的要求是显示两个日历,分别是当月和下个月.

当我选择DateTimePicker时,我将MonthCalender 放在了DateTimePicker下.它也显示了自己的压光机.并且MonthCalender的选定值没有进入
DateTimePicker.


有什么办法可以帮助我.


谢谢&问候

Sir,

I am using DateTimePicker control in Windows Application.

If I select DateTimePicker is displayed.

My requirement is to display two calenders, those are current month and next month.

I placed MonthCalender under the DateTimePicker When I select DateTimePicker It''s own calender also displayed. and also MonthCalender''s selected value is not getting in
DateTimePicker.


Is there any way please help me.


Thanks & Regards

推荐答案

private void form1_load(...)
{
dateTimePicker1.Value = DateTime.Now.AddDays(30);
}

MonthCalendar mc = new MonthCalendar();
private void dateTimePicker1_DropDown(object sender, EventArgs e)
{
    mc.DateChanged +=new DateRangeEventHandler(mc_DateChanged); //add new event handler 
    mc.MouseEnter +=new EventHandler(mc_MouseEnter);
    mc.Location = new Point(dateTimePicker1.Location.X + dateTimePicker1.Size.Width , dateTimePicker1.Location.Y +20);
    this.Controls.Add(mc);
    mc.Show();
}
private void mc_MouseEnter(object sender, EventArgs e)
{
    mc.BringToFront();
    mc.Focus();
}
 
private void mc_DateChanged(object sender, DateRangeEventArgs e)
{
    mc.Hide();
    dateTimePicker1.Value = e.Start;
}
private void dateTimePicker1_CloseUp(object sender, EventArgs e)
{
//cln.Hide(); //just for timebeing
}



希望我终于解决了你的问题.对它进行投票,然后将其标记为已解决.



I hope I have finally solved your question. Vote for it if it worked and then mark it as solved.


hi
最后我得到了所有解决方案.我将此解决方案发送给所有人,以备将来使用.

首先在DateTimepicker中添加一个图片框.在图片框内添加图片,该图片看上去是\/即包含在日期时间选择器的末尾.

在表单加载中隐藏monthcalender.图片框点击事件显示monthcalender.
请参阅此处的代码


hi
to all I got finally solution. I send this solution to all for future use.

First of all add a picturebox inside DateTimepicker. Add a image inside a picture box That image look \/ i.e at the end of datetime picker what is contains.

In form load hide monthcalender. Picture-box click event show monthcalender.
See The code here


    private void Form1_Load(object sender, EventArgs e)
        {
            monthCalendar1.Hide();
        }

      

        private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
        {
           
            monthCalendar1.SetDate(dateTimePicker1.Value);
         
        }
         
        private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e)
        {
            dateTimePicker1.Value = Convert.ToDateTime(monthCalendar1.SelectionStart.ToShortDateString());
            monthCalendar1.Hide();
     
        }

        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            monthCalendar1.Hide();
        }

        private void dateTimePicker1_MouseDown(object sender, MouseEventArgs e)
        {
            monthCalendar1.Hide();
        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            monthCalendar1.Show();
           monthCalendar1.Focus();
        }

        private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
        {

            dateTimePicker1.Value = Convert.ToDateTime(monthCalendar1.SelectionStart.ToShortDateString());
        }

      
       
    }
}



这完全符合我的要求.请观看此



This is exact for my requirement Please watch This


这篇关于选择时如何在Datetimepicker控件中获取两个日历的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆