请教:toolStrip1和dateTimePicker1值更新的问题

[大楚] 2019-05-31 01:32:03
如果手工修改了dateTimePicker1的数值(直接修改里面的数字,不是下拉选定),在dateTimePicker1没有失去焦点的情况下,点击toolStrip1按钮,这时dateTimePicker1的值不会更新,

有没有办法解决呀?谢谢。

...全文
87 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
[大楚] 2019-05-31
  • 打赏
  • 举报
回复
引用 8 楼 OrdinaryCoder 的回复:
[quote=引用 6 楼 [大楚] 的回复:] 要用 toolStrip1 按钮, 正常的 button 按钮没有问题的。 开发工具 :VS2013 ,语言: C#
取值的时候加上this.Focus(); 这句将焦点置到窗体上[/quote] 这个方法也可以的,网上查了一下,也有用 this.ActiveControl = null; 的 谢谢了。 这个应该与toolStrip1事件处理机制有关吧,具体不清楚了。
OrdinaryCoder 2019-05-31
  • 打赏
  • 举报
回复
引用 6 楼 [大楚
的回复:]
要用 toolStrip1 按钮, 正常的 button 按钮没有问题的。 开发工具 :VS2013 ,语言: C#

取值的时候加上this.Focus(); 这句将焦点置到窗体上
OrdinaryCoder 2019-05-31
  • 打赏
  • 举报
回复

private void toolStripButton2_Click(object sender, EventArgs e)
{
string str = this.dateTimePicker1.Text;
string str1 = this.dateTimePicker1.Value.ToString();
MessageBox.Show(str);
MessageBox.Show(str1);
}

我用toolStrip按钮也能取到值 ............
[大楚] 2019-05-31
  • 打赏
  • 举报
回复
要用 toolStrip1 按钮, 正常的 button 按钮没有问题的。 开发工具 :VS2013 ,语言: C#
[大楚] 2019-05-31
  • 打赏
  • 举报
回复
是手工修改dateTimePicker1 里面的数字,修改完后不要点击其它地方,保证焦点还在修改的地方,然后点 toolStrip1 按钮。dateTimePicker1 的值不会更新, 如果点button1就不会出现这个问题, 应该是点击 button1 时, dateTimePicker1失去焦点了,值就更新了。
OrdinaryCoder 2019-05-31
  • 打赏
  • 举报
回复
引用 2 楼 [大楚
的回复:]
我使用的是 value 取值

textBox1.Text = dateTimePicker1.Value.ToString("yyyy-MM-dd");

我试了一下value和text都可以正常取值 如果你value取不到用text试试
[大楚] 2019-05-31
  • 打赏
  • 举报
回复
试了一下 Text 取值是一样的 private void toolStripButton1_Click(object sender, EventArgs e) { textBox1.Text = dateTimePicker1.Text.ToString(); }
[大楚] 2019-05-31
  • 打赏
  • 举报
回复
我使用的是 value 取值 textBox1.Text = dateTimePicker1.Value.ToString("yyyy-MM-dd");
OrdinaryCoder 2019-05-31
  • 打赏
  • 举报
回复
你是怎么取的值 直接this.dateTimePicker1.Text;这个取值 应该是会变的吧

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧