摘要:[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