Skip to main content

HumanReadableTimeSpanHelper.ParseString Event

Occurs before the specified string is converted to a TimeSpan value.

Namespace: DevExpress.XtraScheduler.Native

Assembly: DevExpress.XtraScheduler.v24.1.Core.Desktop.dll

NuGet Package: DevExpress.Scheduler.CoreDesktop

Declaration

public static event TimeSpanStringConvertEventHandler ParseString

Event Data

The ParseString event's data class is TimeSpanStringConvertEventArgs. The following properties provide information specific to this event:

Property Description
Handled Gets or sets whether an event was handled, if it was handled the default actions are not required.
StringValue Gets or sets the string used when converting a TimeSpan value to a string or vice versa.
TimeSpanValue Gets or sets the TimeSpan value used when converting a TimeSpan value to a string or vice versa.

Remarks

Use the HumanReadableTimeSpanHelper.Parse method to convert a string to the TimeSpan value. Handle the ParseString event to implement a custom conversion procedure.

Example

This example demonstrates how to use the HumanReadableTimeSpanHelper instance to implement the custom conversion of a TimeSpan value to a string and vice versa. To do this handle the HumanReadableTimeSpanHelper.ParseString and HumanReadableTimeSpanHelper.ConvertToString events and use the members of the corresponding TimeSpanStringConvertEventArgs object.

using DevExpress.XtraScheduler.Native;
// ...

// Handle the ParseString and ConvertToString events of the HumanReadableTimeSpanHelper.
HumanReadableTimeSpanHelper.ParseString += new TimeSpanStringConvertEventHandler(OnParse);
HumanReadableTimeSpanHelper.ConvertToString += new TimeSpanStringConvertEventHandler(OnToString);

// Custom parsing of a string to a TimeSpan value.
void OnParse(object sender, TimeSpanStringConvertEventArgs e) {
   double val;
   try {
         string number = e.StringValue.Substring(0, e.StringValue.IndexOf(" milliseconds"));
         val = Convert.ToDouble(number);
   }
   catch {
         val = 0;
   }

   e.TimeSpanValue = TimeSpan.FromMilliseconds(val);
   e.Handled = true;
}

// Custom conversion of a TimeSpan value to a string.
void OnToString(object sender, TimeSpanStringConvertEventArgs e) {
   e.StringValue = e.TimeSpanValue.TotalMilliseconds.ToString() + " milliseconds";
   e.Handled = true;
}
See Also