C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 122 を表示中)
■72948 / )  Re[8]: エンターを押せないようにする
□投稿者/ 魔界の仮面弁士 (71回)-(2014/08/02(Sat) 15:54:35)
No72947 (魔界の仮面弁士) に追記
> 「特定のページ」とありますが No72937 のコードの場合、一度『検索』して次ページに遷移した後、
> そこから右クリック→[前に戻る] などで戻ってきた場合、自作したイベントが処理されませんが、それで良いのでしょうか?

すべての <input type="text"> に対して、 Enter をキャンセルさせるようにしてみました。

Enter による送信を望まないのであれば、テキストボックス内で Enter が必要になることも
無いので、ページの内容に関わらず、全キャンセルで構わないかと。


private void button1_Click(object sender, EventArgs e)
{
  webBrowser1.Navigate("http://www.yahoo.co.jp/");

  // webBrowser1.DocumentCompleted += (wb, args) =>
  // {
  //   var button = webBrowser1.Document.GetElementById("srchbtn");
  //   if(button != null) button.Click += (t, a) => { MessageBox.Show("検索しましたね!"); };
  // };
}

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
  var q = webBrowser1.Document.GetElementsByTagName("INPUT").OfType<HtmlElement>()
        .Where(input => input.GetAttribute("type").ToLower() == "text");
  foreach (var text in q)
  {
    text.KeyPress += (tag, args) => { args.ReturnValue = args.KeyPressedCode != 13; };
  }
}
返信 編集キー/


管理者用

- Child Tree -