我遇到DateTimePicker
的问题,
我为每个DateTimePicker
在tab control
上添加了3 tabitem
。
现在我按时间设定
dateTimePicker1.Text="1:00";
dateTimePicker2.Text="2:00";
dateTimePicker3.Text="3:00";
在第一个标签中,DateTimePicker
正常工作
MessageBox.Show(dateTimePicker1.Text); //Show "01:00"
但是当我想阅读时dateTimePicker2.Text
显示我是空的
但当我点击第二个标签时,它工作正常,并显示“02:00”
我的问题是什么?
答案 0 :(得分:1)
我会在对象生命周期事件上查看此页面,特别是已加载部分。我相信,因为DatePicker位于第二个选项卡上,直到它可见并加载它将没有正确的值。
答案 1 :(得分:1)
U gonne必须预先加载标签,因为它上面的控件尚未启动。
这样的东西会起作用
private void Form1_Load(object sender, EventArgs e)
{
// Preload tabs
tabControl1.SelectedTab = tabPage3;
tabControl1.SelectedTab = tabPage2;
// Select tab 1
tabControl1.SelectedTab = tabPage1;
// Set values
dateTimePicker1.Text = "1:00";
dateTimePicker2.Text = "2:00";
dateTimePicker2.Text = "3:00";
}
更好的是,您可以为每个要预加载的选项卡使用tabPage.show()。
// Preload tabs
tabPage3.Show();
tabPage2.Show();
// Select tab 1
tabPage1.Show();