c# dateTimePicker无法手动输入,怎么解决啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# dateTimePicker无法手动输入,怎么解决啊相关的知识,希望对你有一定的参考价值。

参考技术A 我这里是可以手动输入的,需要点在数字上,才可以输入。
建议你新建一个winform,仅添加datatimepicker控件,然后看看能不能输入,如果还是不行,把代码打包让我下载来试试?追问

我现在想要的是一个空框,可以选择下拉的日历,然后可以手动输入。。
现在我用

registerDateDateTimePicker.Format
= DateTimePickerFormat.Custom;
registerDateDateTimePicker.CustomFormat
= " ";
把他设为空,没法输入啊

追答

DateTimePicker 达不到你的需求,或者用第三方控件,或者自己改造一下。
最简单的方式,就是在DTP上覆盖一个无边框TextBox,然后对一些相关的事件进行联动,比如当dtp被下拉选择完后,改变TextBox的值,
但这种情况要注意判断textbox输入的格式。

本回答被提问者采纳
参考技术B 你的问题解决了吗,我想问下最后是怎么做到的 参考技术C 什么意思啊追问

为什么DateTimePicker控件不能手动输入,我百度了一下,发现有的说能,有的说不行,怎么做才能手动输入

追答

可以的啊。你运行后点击,可以手动输入值。

追问

当然不行啊,要不然我问这个干嘛。。
好奇怪

追答

我试过了。可以。。。。

追问

哦,我搞错了,我现在想要的是一个空框,可以选择下拉的日历,然后可以手动输入。。

参考技术D 爱搜覅基本围殴今年到顾客能色丁布而我就能嗖的快感

C# winform datagridview 里的下拉框中 既可以从下拉框里选择数据,也可以让客户自己手动往里输入数据,怎

参考技术A DataGridViewComboBoxColumn cmbox = dataGridView1.Columns["绑定列"] as DataGridViewComboBoxColumn;
cmbox.DataSource = ds.Tables[0];
cmbox.DisplayMember = "ctype";
cmbox.ValueMember = "ctype";
cmbox.DataPropertyName = "ctype";
comboBox1.DataSource = CommonSerivce.GetDataSetByColomnName("Customer_Info", "clevel");

或者采用以下方法:
((DataGridViewComboBoxColumn)dataGridView1.Columns["绑定列"]).DataSource = ds;
((DataGridViewComboBoxColumn)dataGridView1.Columns["绑定列"]).DisplayMember = "clevel";
((DataGridViewComboBoxColumn)dataGridView1.Columns["绑定列"]).ValueMember = "clevel";
((DataGridViewComboBoxColumn)dataGridView1.Columns["绑定列"]).DataPropertyName = "company";
参考技术B 这很简单,自定义列,列的类型选择Combobox就行了
定义列在DataGridView属性中进行
参考技术C 楼上正解

以上是关于c# dateTimePicker无法手动输入,怎么解决啊的主要内容,如果未能解决你的问题,请参考以下文章

如何在一个DataGridView中的一列添加DateTimePicker控件 C#

C# - DateTimePicker,检测上下点击事件

关于System.Windows.Forms.DateTimePicker的一个Bug

C# Winform DataGridView在列中使用DateTimePicker控件

DateTimePicker:选择日期和时间

C# 公共控件之 dateTimePicker