System.Windows.Forms.WebBrowser コントロールを使用して、ユーザーと受信者の間のメッセージを表示する単純なチャット アプリケーションに取り組んでいます。コントロールの DocumentText を更新するたびに、コントロールを自動的に一番下までスクロールするにはどうすればよいですか?
Ryan Lanciaux
質問する
9004 次
5 に答える
5
みんなありがとう-私はあなたに両方を投票しましたが、どちらも私の状況ではうまくいきませんでした。私がやったのは
webCtrl.Document.Window.ScrollTo(0, int.MaxValue);
于 2008-09-08T17:41:40.660 に答える
2
これはやり過ぎかもしれませんが、WebBrowser コントロールでスクリプトを呼び出してから、body タグのスクロール プロパティを使用することもできます。または、ウィンドウの scrollTo メソッド。
スクリプトを呼び出すために、WebBrowser コントロールには、DOM からのドキュメント オブジェクトを表す Document プロパティがあります。実行する JavaScript の文字列を渡すことができる InvokeScript というメソッドがあります。
しかし... AutoScrollOffsetプロパティが機能する場合...ええ、JavaScriptに入る代わりにそれを使用します:)
于 2008-09-05T21:13:37.180 に答える
2
AutoScrollOffset プロパティを使用して、WebBrowser コントロールの左下に設定すると、次のようになります。
webCtrl.AutoScrollOffset = new Point(0, webCtrl.Height);
于 2008-09-05T18:18:59.253 に答える
0
スクロール位置を上に保ち、新しいメッセージを上に挿入できます。
下にスクロールする必要はありません。Twitterのように見えます:)
user2:
new message ← a new message is insert on top
user1:
old message
于 2014-03-12T02:32:57.283 に答える
0
public virtual void ScrollMessageIntoView()
{
System.Windows.Forms.Application.DoEvents();
if (browser == null || browser.IsDisposed)
return;
if (browser.Document == null)
{
browser.Document.Window.ScrollTo(0,
browser.Document.Body.ScrollRectangle.Height);
}
}
于 2016-11-24T10:03:13.087 に答える