■68488 / inTopicNo.2) |
Re[1]: テキストの中身を消して、カーソルを点滅状態にするには? |
□投稿者/ 魔界の仮面弁士 (391回)-(2013/10/22(Tue) 22:21:56)
|
■No68486 (サトウ さん) に返信
> サンプルとして、Yahooを用いさせて頂きます。
> webBrowser1.Navigate("http://search.yahoo.co.jp/search?p=時計&search.x=1&fr=top_ga1_sa&tid=top_ga1_sa&ei=UTF-8&aq=-1&oq=時計");
本来は、「時計」の部分にパーセントエンコーディングを施すべきですけれどね。
> webBrowser1.Document.Body.GetElementsByTagName("p")[0].InvokeMember("click");
click メソッドでは無く、"focus" メソッドを呼び出しましょう。
> 検索用のテキストの時計の文字を消して、
> 検索用のテキストをマウスクリックして、カーソルを点滅状態にさせたいのですが、
テキストボックスが複数ありますが、すべてのボックスの文字を消すのですか?
複数のボックスに入力カーソルを同時に当てるのは無理だと思うので、
最初に見つかったテキストボックスだけにフォーカスを当てるとすれば、
たとえばこんな感じ。
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
var boxes = webBrowser1.Document.GetElementsByTagName("INPUT").OfType<HtmlElement>()
.Where(txt => txt.GetAttribute("TYPE").ToLowerInvariant() == "text").ToList();
boxes.ForEach(txt => txt.SetAttribute("value", ""));
boxes[0].InvokeMember("focus");
}
|
|