2012-08-08 17 views
0

我有用於顯示來自GSM調制解調器的SMS的列表視圖。我正在閱讀郵件的端口,解析它們然後顯示它們。當我讀到的消息,我得到的格式是:我用列表視圖以粗體顯示未讀郵件並以C中正常字體讀取郵件#

+CMGL: 5,"REC READ","IA-612345","","2012/08/04 11:54:00+22" 
Some text message 

代碼解析:

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; 

,我使用添加消息列表視圖中的循環:

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

現在我的要求是當我添加消息到列表視圖,未讀的消息(REC UNREAD)應顯示在加粗字體和消息READ應顯示在正常的字體。這可能嗎?請讓我知道這個程序。

+0

你有[搜索](https://www.google.se/search?q=bold+text+listviewitem)嗎? – Patrick 2012-08-08 11:59:25

回答

5
if (condition) 
{ 
    item.Font = New Font(item.Font, FontStyle.Bold); 
} 
+0

太棒了。我知道這很簡單。 Thnaks :) – Cdeez 2012-08-08 12:15:18

+0

@弗萊姆:也請在這幫助 - 我有listview鼠標doubleclick事件。雙擊,所選項目字體應該正常 – Cdeez 2012-08-08 12:30:58

+0

@Cdeez。 ListView有一個'MouseDoubleClick'事件。訂閱並改變項目與我發佈的答案相同'item.Font = New Font(item.Font,FontStyle.Regular);'將樣式更改爲'Regular'。 – 2012-08-08 17:33:35