2014-09-04 51 views
0

我在my.settings中创建了4个变量,名为“Firststart”“firstend”“secondstart”“secondend”,类型为i System.Timespan将数据从my.settings加载到datetimepicker

我从DateTimePicker的值保存到my.settings与此代码

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    My.Settings.firstStart = DateTimePicker1.Value.TimeOfDay 
    My.Settings.firstEnd = DateTimePicker2.Value.TimeOfDay 

    My.Settings.secondStart = DateTimePicker3.Value.TimeOfDay 
    My.Settings.secondEnd = DateTimePicker4.Value.TimeOfDay 

    My.Settings.Save() 

End Sub 

一旦我重新上formload形式如何从my.settings到DateTimePicker的负载值。

dateTimePicker的具有自定义格式这样的“HH:MM”

+2

你有没有尝试过你所拥有的?或者你有什么*你试过 – Plutonix 2014-09-04 15:47:47

+0

我得到了错误信息“表达式是一个值,因此不能作为任务的目标”如果我尝试写'DateTimePicker1.Value.TimeOfDay = My.Settings.firstStart' – 2014-09-04 15:51:24

+0

如何:将属性绑定到使用设计器的现有应用程序设置](http://msdn.microsoft.com/zh-cn/library/0yxh69h(v = vs.110).aspx) – 2014-09-04 15:53:17

回答

0

我会使用一个组合供用户选择,这些客户对哪一类,然后2个NumericUpDns让他们挑小时/分钟开始时间。有真正地不是需要定义一个结束时间,这仅仅是开始时间+ 40分钟:

Public Const PeriodLength = 40 

Dim stHr As Integer = NUD1.Value 
Dim stMin As Integer = NUD2.Value 

Dim StartTime As New TimseSpan(stHr, stMin, 0) 
Dim EndTime As TimeSpan = StartTime.Add(New TimeSpan(0, PeriodLength, 0)) 

心不是真的需要保存结束时间无论是出于同样的原因。 ,因为你有多组这些不同的期间,建议一个类定义ClassPeriod,然后List(of ClassPeriod)存储每个的开始/停止时间。

一个类将允许您编写一个很好的干净的方法来确定一个类在会话中的时间或直到它开始的时间。用一个List(T),你只需要循环列表。

组合将只是“第一阶段”,“第二阶段”,所以你知道哪一个正在定义,而不必有一个巨大的NUD乱扔形式。

相关问题