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

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

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

...全文
111 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;这个取值 应该是会变的吧
资源下载链接为: https://pan.quark.cn/s/d9ef5828b597 在C# WinForm开发中,ToolStrip控件是构建类似Office风格工具栏和菜单的强大组件。它支持多种自定义选项,包括按钮、复选框、下拉列表等,方便开发者打造用户界面。 在Visual Studio中新建WinForm项目后,从工具箱中拖拽ToolStrip控件到窗体上。默认情况下,它位于窗体顶部,但位置可调整。 可以通过拖拽工具箱中的ToolStripButton等控件到ToolStrip上,或者通过代码动态添加,例如: ToolStripButton的DisplayStyle属性用于控制按钮的显示方式,可选包括: Text:仅显示文本 Image:仅显示图标 ImageAndText:同时显示图标和文本 None:不显示任何内容 OverflowButton:仅在工具栏溢出时显示 通过ToolStripButton.Image属性设置图标,通过Text属性设置文本。例如: ToolStrip控件的元素支持事件处理。例如,为ToolStripButton的Click事件添加处理程序: ToolStrip中的元素默认自动排列成一行。通过设置ToolStripLayoutStyle属性(如StackWithOverflow)可更改布局。ToolStripItem的Alignment属性可用于控制元素的对齐方式。 ToolStrip还支持分隔符(ToolStripSeparator)、下拉菜单(ToolStripSplitButton)、复选框(ToolStripCheckBox)等组件,可组合使用以创建复杂的工具栏和菜单。 通过ToolStrip.Renderer属性,可以指定自定义的ToolStripRenderer实现,例如继承自ToolStripProfessional

111,120

社区成员

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

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

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