-2

テキストボックスの値を取得してリッチテキストボックスに転送するにはどうすればよいですか?

button1、richtextbox、および webbrowser (facebook に設定) を含む Windows アプリケーション フォームを作成しました。

このボタン1が必要です。クリックすると、facebook.comの登録フォームに入力された値がコピーされ、リッチテキストボックスに貼り付けられます。

これらはテキスト ボックスの ID です。

「名
」 「姓

「reg_email__」「reg_email_confirmation__」
「reg_passwd__」
「性別」
「誕生日_月」「誕生日_日」
「誕生日_
年」

Facebookのテキストボックスに入力された値をプログラムで取得し、それらをリッチテキストボックスに転送するにはどうすればよいですか?

4

2 に答える 2

0

作業していると仮定すると、コントロールのプロパティWinFormsを使用できます。タイプのオブジェクトを返します。次に、型のオブジェクトを返すメソッドがあります。プロパティには、最終的にテキストボックスに関する情報が含まれます。式を使用すると、必要な情報を抽出できますWebBrowserDocumentHtmlDocumentHtmlDocumentGetElementByIdHtmlElementOuterHtmlRegex

HtmlElement tb = webBrowser1.Document.GetElementById("firstname");

string outerHtml = tb.OuterHtml;
// Yields a text which looks like this
// <INPUT id=firstname class=inputtext value=SomeValue type=text name=firstname>

string text = Regex.Match(outerHtml, @"value=(.*) type=text").Groups[1].Value;
// text => "SomeValue"

HTML-DOMオブジェクトモデルにアクセスできるようにしたいと思います。ただし、C#からは隠されているようです。


編集:

ComboBoxは、異なる種類の情報を生成します。ここを使用していることに注意してInnerHtmlください。

HtmlElement cb = webBrowser1.Document.GetElementById("sex");

string innerHtml = cb.InnerHtml;
// Yields a text which looks like this where the selected option is marked with "selected"
// <OPTION value=0>Select Sex:</OPTION><OPTION value=1>Female</OPTION><OPTION selected value=2>Male</OPTION>

Match match = Regex.Match(innerHtml, @"<OPTION selected value=(\d+)>(.*?)</OPTION>");
string optionValue = match.Groups[1].Value;
string optionText = match.Groups[2].Value;
于 2012-04-10T20:30:59.323 に答える
0

誰かにプログラムを書いてもらいますか? それが起こることを疑います。

ですから、「なぜ?」という当然の質問は無視して、いくつかの指針を示します。最初に、関心のあるページのソースを表示します。 HTML ソースをテキストとしてスキャンし、タグを部分文字列で抽出する方が簡単な場合があります (固定フォーマット、特に固定された一意の名前を持つテキスト ボックスの場合)。あなたが望む名前。ビルド時にテキストボックスに値が設定されていない場合 (つまり、値がビュー ソースにない場合)、おそらく DOM を経由してコントロールに個別にアクセスする必要があります。

このページにアクセスする方法と時期によっては、これらのフィールドが FB によってまったく入力されず (明らかなセキュリティ上の理由から)、ユーザーからの入力としてのみ機能することがわかる場合があります (したがって、以前の「なぜ?」という質問)。

于 2012-04-10T20:33:45.013 に答える