Webbrowserコントロール(webbrowser1.DocumentText)に
StringBuilderで作成した文字列を入れてフォーム上でhtmlを表示しています。
表示しているものは、表形式で、左から、
ラジオボタンフォーム、No(8桁数字、ユニークキー)、ワード
です。
で、ラジオボタンを変更した際(チェックがついた際)に、その都度、選択したラジオボタン行の
Noの値を取得したいのですが、まったく思いつきません。
アドバイスをお願いします。
環境:OS winXP SP3
VS:2005 .NETFramework2.0
private void Form1_Load(object sender, EventArgs e)
{
this.webBrowser1.DocumentText =
"<html><body><table>" +
"<tr><td><input type=\"radio\" name=\"radio\" value=\"1\">radio1</td><td>11111111</td></tr>" +
"<tr><td><input type=\"radio\" name=\"radio\" value=\"2\">radio2</td><td>22222222</td></tr>" +
"<tr><td><input type=\"radio\" name=\"radio\" value=\"3\">radio3</td></tr>" +
"</table></body></html>";
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
foreach (HtmlElement tag in this.webBrowser1.Document.Body.GetElementsByTagName("input"))
{
if (String.Compare(tag.GetAttribute("type"), "radio") == 0)
{
tag.Click += delegate(object s, HtmlElementEventArgs args)
{
HtmlElement next = ((HtmlElement)s).Parent.NextSibling;
MessageBox.Show(next != null ? next.InnerText : "none");
};
}
}
}
デリゲートメソッドの中身をdaiさんの望む形・精度を得られる様に改変すれば良いかと。
ツイート | ![]() |