【问题标题】:How to set datapicker in focus of textbox in c#如何在c#中将日期选择器设置为文本框的焦点
【发布时间】:2017-12-12 20:59:51
【问题描述】:

如何在c sharp .net的窗口形式应用中设置datatimepicker。当我关注该日期文本框时,会显示我的 datetimepicker 控件,然后单击该日期中的特定日期,然后在文本框中显示 myformatted 输出。我正在使用简单的 datetimepicker 控件。

我只在 c#.net 的窗体应用中使用 datetimepicker 控件

【问题讨论】:

  • 你能告诉我们你到目前为止有什么吗?还是您希望我们为您写这篇文章?
  • 什么都不懂
  • 什么又在使用 datetimepicker 或带有月份选择器的文本框?
  • DateTimePicker 控件。谢谢
  • 你使用任何 jquery,你能编辑你的问题,向我们展示你到目前为止做了什么吗?

标签: c# winforms


【解决方案1】:

您只需使用dateTimePicker 中的ValueChanged 事件即可轻松完成。

private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
   textBox1.Text = YourFormatedMethod(dateTimePicker1.Text);
}

private string YourFormatedMethod(string selectedDate)
{
  // Your implementation
}

【讨论】:

    【解决方案2】:

    您可以使用数据绑定:

    将其放入表单加载中:

    //textBox1.DataBindings.Add("Text", dateTimePicker1, "Text");
    //or...
    Binding b = new Binding("Text", dateTimePicker1, "Value",true);
    b.Format += new ConvertEventHandler(b_Format);
    textBox1.DataBindings.Add(b);
    

    然后是 b_Format 处理程序:

    private void b_Format(object sender, ConvertEventArgs e)
    {
        //some checking you might want to do...
    
        e.Value = //your formatting here.
    }
    

    【讨论】:

    • 不,当我在文本框中输入然后打开我的 datatimepicker 时它不起作用
    • 也许我弄错了,但是....您要求单击 datetimepicker 日期并格式化该日期以显示在文本框上吗?
    【解决方案3】:
          // date time picker event code
          private void dtpfromdate_ValueChanged(object sender, EventArgs e){
              dtpfromdate.Format = DateTimePickerFormat.Custom;
    
              //here we can select our desired format.
              dtpfromdate.CustomFormat = "dd-MM-yyyy";
              txtfromdate.Text = dtpfromdate.CustomFormat;
    
              //assign the datetime picker value to textbox.
              txtfromdate.Text = dtpfromdate.Value.ToString("dd-MM-yyyy");
          }
    

    【讨论】:

      【解决方案4】:
       private void dateTimePickerBillDate_ValueChanged(object sender, EventArgs e)
              {
                  DateTime pickdt = Convert.ToDateTime(dateTimePickerBillDate.Text);
                  maskedtxtBillDate.Text = pickdt.ToString();
              }
      

      【讨论】:

      • 您可以在代码中添加解释以帮助理解其他人。
      • 虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
      猜你喜欢
      • 2017-02-27
      • 2014-07-27
      • 1970-01-01
      • 2013-05-17
      • 2016-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多