这是我的代码。我正在尝试使用数字上下创建DateTime。我有异常
System.ArgumentOutOfRangeException:'值为'1/3/0001 12:00:00 AM' 对于“值”无效。 “值”应介于“ MinDate”和“ MinDate”之间 “ MaxDate”。 参数名称:值'
我尝试将验证事件用于数字上下转换,但随后未触发。
public DateTime ToDateTime(DateTime referencetime = default(DateTime))
{
if (referencetime == default(DateTime)) referencetime = DateTime.Now;
DateTime returntime = referencetime;
try
{
returntime = new DateTime(
!Year.IsRelative ? Year.Value : referencetime.Year,
!Month.IsRelative ? Month.Value : referencetime.Month,
!Day.IsRelative ? Day.Value : referencetime.Day,
!Hour.IsRelative ? Hour.Value : referencetime.Hour,
!Minute.IsRelative ? Minute.Value : referencetime.Minute,
!Second.IsRelative ? Second.Value : referencetime.Second
);
if (Year.IsRelative)
returntime = returntime.AddYears(Year.Value);
if (Month.IsRelative)
returntime = returntime.AddMonths(Month.Value);
if (Day.IsRelative)
returntime = returntime.AddDays(Day.Value);
if (Hour.IsRelative)
returntime = returntime.AddHours(Hour.Value);
if (Minute.IsRelative)
returntime = returntime.AddMinutes(Minute.Value);
if (Second.IsRelative)
returntime = returntime.AddSeconds(Second.Value);
}
catch (Exception e) { }
我想取消outofRange
异常结果的value_changed事件。我该怎么办?
答案 0 :(得分:0)
您可以在属性窗口上以及通过编程方式设置 NumericUpDown 控件的 Minimum 和 Maximum 属性,以防止不必要的范围。
还可以使用4008
事件来取消控件或将其设置为任何其他值。我使用此事件将十进制值转换为int(用户可以输入范围内的任何十进制值)。请参阅完整的工作项目here。
如果您有其他疑问,请告诉我。