Listview以粗体显示未读消息,以C#中的普通字体显示读取消息

Cde*_*eez 0 c# modem listview bold winforms

我有列表视图,我用来显示我的GSM调制解调器的短信.我正在读取消息的端口,解析它们然后显示它们.我在阅读邮件时获得的格式是:

+CMGL: 5,"REC READ","IA-612345","","2012/08/04 11:54:00+22"
Some text message
Run Code Online (Sandbox Code Playgroud)

我用来解析的代码:

public ShortMessageCollection ParseMessages(string input)
{
    ShortMessageCollection messages = new ShortMessageCollection();
    Regex r = new Regex(@"\+CMGL: (\d+),""(.+)"",""(.+)"",(.*),""(.+)""\r\n(.+)\r\n");
    Match m = r.Match(input);
    while (m.Success)
    {
        ShortMessage msg = new ShortMessage();
        msg.Index = m.Groups[1].Value;
        msg.Status = m.Groups[2].Value;
        msg.Sender = m.Groups[3].Value;
        msg.Alphabet = m.Groups[4].Value;
        msg.Sent = m.Groups[5].Value;
        msg.Message = m.Groups[6].Value;
        messages.Add(msg);
        m = m.NextMatch();
    }
}
return messages;
Run Code Online (Sandbox Code Playgroud)

我用来向列表视图添加消息的循环:

foreach (ShortMessage msg in objShortMessageCollection)
{
    ListViewItem item = new ListViewItem(new string[] { msg.Sender, msg.Message, msg.Sent, msg.Index });
    item.Tag = msg;
    lvwMessages.Items.Insert(0, item);
}
Run Code Online (Sandbox Code Playgroud)

现在我的要求是当我向listview添加消息时,未读取的消息(REC UNREAD)应以粗体显示,而READ应以正常字体显示.这可能吗?请让我知道这个程序.

Pau*_*ing 5

if (condition)
{
    item.Font = New Font(item.Font, FontStyle.Bold);
}
Run Code Online (Sandbox Code Playgroud)