摘要:[winform]Use WebBrowser View MailBody
起因:
最近在用Winform讀資料再合併Mail Template存回DB,
Mail內容的格式有好幾種,來源資料的剖析有時又會有錯,
通常要直接看到Mail才知道那邊有問題,
我是debug到一半再把MailBody貼到html檔再來看(MSMS的Grid Result有字數限制)
覺得這樣費時,就想做一個Viewer來看
做法:
首先要找到怎麼呈現MailBody,
後來有找到WebBrowser,
用法也很簡單,
webBrowser1.DocumentText = @"<html><body>Please enter your name:<br/> <input type='text' name='userName'/><br/> <a href='http://www.microsoft.com'>continue</a></body></html>";
就從DataGridView點選一筆就顯示出來
但是檢查到一半,發現資料量很大,又要一直來回拉ScrollBar,又覺得很煩
就想到一般Mail軟體都有下一筆的功能,所以就再去找,
不過要取得Index容易,要定位就不容易(以往webform的想法),
不過印像中WinForm應該這類操作會有更多屬性可以設,
就找了一下,找到這個FirstDisplayedScrollingRowIndex
可以重設第一筆要看到的Index,
private void button2_Click(object sender, EventArgs e) { dataGridView1.Rows[rowIndex].Selected = false; rowIndex = rowIndex + 1; webBrowser1.DocumentText = dataGridView1.Rows[rowIndex].Cells["MDBody"].Value.ToString(); dataGridView1.Rows[rowIndex].Selected = true; dataGridView1.FirstDisplayedScrollingRowIndex = rowIndex; }
結果:
可以看到MDID已經跳到24043,資料有一萬多筆,大概看了2~30筆就累了,
所以整理一下做個筆記,
這應該很多人都寫過,不過算是我的第一個轉型Winform的程式,紀念一下XD