コード例 #1
0
ファイル: DatePicker.cs プロジェクト: ynkbt/moon
        /// <summary>
        /// Raises the TextParseError event.
        /// </summary>
        /// <param name="e">A DatePickerTextParseErrorEventArgs that contains the event data.</param>
        protected virtual void OnTextParseError(DatePickerTextParseErrorEventArgs e)
        {
            EventHandler <DatePickerTextParseErrorEventArgs> handler = this.TextParseError;

            if (handler != null)
            {
                handler(this, e);
            }
        }
コード例 #2
0
ファイル: DatePicker.cs プロジェクト: ynkbt/moon
        // iT SHOULD RETURN NULL IF THE STRING IS NOT VALID, RETURN THE DATETIME VALUE IF IT IS VALID

        /// <summary>
        /// Input text is parsed in the correct format and changed into a DateTime object.
        /// If the text can not be parsed TextParseError Event is thrown.
        /// </summary>
        private DateTime?ParseText(string text, DatePickerFormat f)
        {
            DateTime           newSelectedDate;
            DateTimeFormatInfo dtfi = CultureInfo.CurrentCulture.DateTimeFormat;

            if (f == DatePickerFormat.Short)
            {
                try
                {
                    newSelectedDate = DateTime.ParseExact(text, dtfi.ShortDatePattern, CultureInfo.CurrentCulture);
                    return(newSelectedDate);
                }
                catch (Exception ex)
                {
                    DatePickerTextParseErrorEventArgs textParseError = new DatePickerTextParseErrorEventArgs(ex, text);
                    OnTextParseError(textParseError);

                    if (textParseError.ThrowException)
                    {
                        throw textParseError.Exception;
                    }
                }
            }
            else
            {
                Debug.Assert(f == DatePickerFormat.Long);
                try
                {
                    newSelectedDate = DateTime.ParseExact(text, dtfi.LongDatePattern, CultureInfo.CurrentCulture);
                    return(newSelectedDate);
                }
                catch (Exception ex)
                {
                    DatePickerTextParseErrorEventArgs textParseError = new DatePickerTextParseErrorEventArgs(ex, text);
                    OnTextParseError(textParseError);

                    if (textParseError.ThrowException)
                    {
                        throw textParseError.Exception;
                    }
                }
            }
            return(null);
        }