我有一些表格是永远不会更新的。
我试过DateTimePicker
和Value
,Text
然后Invalidate()
还有Update()
。
从当前日期看,它们的值似乎没有任何变化!
不管我怎么安排,现在的日期都是今天的!
这是一个.NET3.5错误还是什么?
(不,我不能在这个项目上使用.net 4。)
如果你真的想要一些代码,那么这里是:Refresh()
。另外,如果我写dateTimePicker1.Value = user.BirthDay;
我会收到一个很好的框,告诉用户的生日(我的生日,在我的机器上)。(所以变量中有一个值…)
我是否也应该提到,它们只是约会而不是时间?
好吧,我知道我需要写更多:
首先,更新控件的方法订阅MessageBox.Show(user.BirthDay.ToString());
事件。因此,当窗体和控件可见且“正在运行”时,它被调用/激发/调用。
其次,看看这段代码及其结果:
MessageBox.Show(user.BirthDay.ToString()); // Shows 12.12.1995 (in my regional format)
dateTimePicker1.Value = user.BirthDay; // assigned to 12.12.1995
MessageBox.Show(dateTimePicker1.Value.ToString()); // Shows today's date!
那可不好…输出是今天的日期。(今天我指的是代码运行的那一天。)
dateTimePicker1.MinDate = new DateTime(1900,1,1); // January 1st, 1900
MessageBox.Show(dateTimePicker1.MinDate.ToString()); // January 1st, 1753 ...
控制不好!1900不等于1753!
dateTimePicker1.MaxDate = DateTime.Today;
// In reality, I need it to today's date
MessageBox.Show(dateTimePicker1.MinDate.ToString()); // December 31st, 9998
时间扭曲?小精灵
总之,整个代码如下所示:
public void Form_Load(object sender, EventArgs e)
{
this.user = User.Load(path);
// this.user is a field.
// path is a static field which holds the absolute path of the file in which is serialized that data of the user.
MessageBox.Show(user.BirthDay.ToString()); // Shows 12.12.1995 (in my regional format)
dateTimePicker1.Value = user.BirthDay; // assigned to 12.12.1995
MessageBox.Show(dateTimePicker1.Value.ToString()); // Shows today's date!
dateTimePicker1.MinDate = new DateTime(1900,1,1); // January 1st, 1900
MessageBox.Show(dateTimePicker1.MinDate.ToString()); // January 1st, 1753 ...
dateTimePicker1.MaxDate = DateTime.Today;
MessageBox.Show(dateTimePicker1.MinDate.ToString()); // December 31st, 9998
}
那么,有什么解决办法吗?XC
最佳答案
这个问题的一个小提示:我的问题是,DateTimePicker设置为CHECK=false和(错误地)SeaCuffox=false;
有了这个设置,我可以设置为dtpicker,无论我想要什么值,但它不会自己udate。
关于c# - DateTimePicker永远不会更新!,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4174214/