WebBrowserコントロール

先日から漢方処方のアプリを使って.NETを試している。
簡単に移植できるようにSQLiteを用いたバージョン。
XMLはメンテが大変だが、SQLiteはDB Browserがあるので簡単。

現実には、まず、漢方処方のメンテはないと思う。
しかし、本当は漢方はもっと効果があるはずなのに、現代人には量が少なすぎる、という考えもある。確かに江戸時代とは体格も生活習慣も大分違う。

ツムラもどんどん処方を改訂したり、新処方を発表すべきなのではないかと思う。

複数の生薬を順次絞り込んでいく処理で、結果をDataGrid(WPFなのでDataGrid)に表示するが、分かりにくい。
表形式でないと、絞り込まれた複数の処方構成が比較しにくい。

テキストボックスなどを動的に並べるとか、(以前にやったことがある)
面倒なので、WebBrowserコントロールを使うことにした。

SQLiteのデータベースはMyDocumentに、HTMLのCSSはMyDocumentの下のCSSフォルダーに入れることにした。
CSSがあれば簡単に整形できる。(と、思った)

いくつか注意点があった。

1.WebBrowserコントロールのソースには、"about:blank"を入れておく。Nothingエラーが起きなくなる。

2.基本がShift-Jisのようなので、UTFにエンコード変更する。
<meta charset='utf-8'/>

3.CSSのdisplay:inline-block;が効かない。これでは表にできない。(Tableは使いにくい)
ググったら、バージョンを指定しないとならないらしく、
<meta http-equiv='X-UA-Compatible' content='IE=Edge' />
を入れると解決。

あとは、データをループして<DIV>などで内容を作り、
HTMLの体裁でStringを作成する。

そしたら、WebBrowser1.NavigateToString(HTMLString)とするだけ。