How to Format the Time Separator in RadChat
Environment
Product Version | Product | Author |
---|---|---|
2022.1.222 | RadChat for WinForms | Desislava Yordanova |
Description
RadChat offers the ChatElement.MessagesViewElement.TimeSeparatorInterval property that controls the time interval between messages that will trigger the automatic addition of a Time separator. You can set this property to 24 hours in order to display the time separator once when the date has changed.
When a new message is added, the TimeSeparatorAdding event is fired. It gives you the opportunity to control whether to add a time separator or not no matter the already specified TimeSeparatorInterval.
A common requirement is to format the time separator in a specific way. This article demonstrates a sample approach how to control what text to be displayed for the time separator.
Solution
It is appropriate to use the ItemFormatting event and specify the exact text you want to see for the separator:
private void RadChat1_ItemFormatting(object sender, ChatItemElementEventArgs e)
{
ChatTimeSeparatorDataItem separator = e.ItemElement.Data as ChatTimeSeparatorDataItem;
if (separator != null)
{
ChatTimeSeparatorMessage msg = separator.Message as ChatTimeSeparatorMessage;
e.ItemElement.Text = msg.TimeStamp.ToString("dd-MM-yyyy");
}
}
Private Sub RadChat1_ItemFormatting(ByVal sender As Object, ByVal e As ChatItemElementEventArgs)
Dim separator As ChatTimeSeparatorDataItem = TryCast(e.ItemElement.Data, ChatTimeSeparatorDataItem)
If separator IsNot Nothing Then
Dim msg As ChatTimeSeparatorMessage = TryCast(separator.Message, ChatTimeSeparatorMessage)
e.ItemElement.Text = msg.TimeStamp.ToString("dd-MM-yyyy")
End If
End Sub