【问题标题】:Get Date in Text Box from month calendar with button in c#使用 c# 中的按钮从月历中获取文本框中的日期
【发布时间】:2012-10-24 23:59:39
【问题描述】:

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

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

【问题讨论】:

  • 请告诉我这个特定问题的正确答案
  • bitbonk 是正确的,这会做你想要的。

标签: c#


【解决方案1】:

为此使用DateTimePicker 类。它具有您所描述的行为。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 但我也想在文本框上设置日期,请告诉我
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多