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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.39749 の関連記事表示

<< 0 >>
■39749  Re[3]: ウェブブラウザで表示したデータをクリックして、編集
□投稿者/ 魔界の仮面弁士 -(2009/08/12(Wed) 21:13:34)
    2009/08/12(Wed) 21:26:22 編集(投稿者)

    No39743 (RT さん) に返信
    > 魔界の仮面弁士さん、
    名指しは止めましょう。私以外の人も回答してくださっていますよ。


    > 下の文章の方のやり方は分りますでしょうか?
    > > 今、使用変更を検討してまして、ウェブブラウザ上で、選択した部分のテキストを取得して、
    TD 全体のテキストであれば、No39742 の方法で InnerText を得れば OK です。


    選択した範囲のテキストという意味であれば、
    > > WebBrowserのdocumentをmshtml.HTMLDocumentにキャストして
    > > .selection.createRange().text
    に近いですが、それで取得できるのはあくまでも VB の場合。

    mshtml.HTMLDocument にしても mshtml.IHTMLDocument2 にしても、
    .selection.createRange() の戻り値は object 型なので、C# の場合には、
    それを mshtml.IHTMLTxtRange にキャストしないと、.text にアクセスできません。


    > 別ウィンドウに表示して、
    Windows フォームを開くという意味であれば、新規 Form のインスンタンスを生成して、
    Show メソッドなり ShowModalDialog メソッドなりを呼び出せば OK です。

    ブラウザのウィンドウを開くという意味であれば、
    webBrowser1.Document.Window.Open メソッドを利用できます。


    > > 編集するということを考えています。

    編集結果を反映させるには、InnerText 等を直接書き換えるなど、幾つかの手法がありますが、
    いっそのこと、WebBrowser 上で直接編集させてしまっては駄目ですか?

    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
    webBrowser1.Document.Body.SetAttribute("contentEditable", "true");
    }
記事No.39729 のレス /過去ログ68より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -