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
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;
}