[C#] WebBrowser コントロールの最下行スクロール位置判定

ブラウザ等の利用規約に同意する際によくある、表示してある文言をすべて読んだら「同意」ボタンがクリックできるような仕組みを WebBrowser コントロールで実現します。

        /// スクロールイベントハンドラ(最下行までスクロールしたらボタンを有効にする)
        void BottomLineScroll(object sender, HtmlElementEventArgs e)
        {
            HtmlElement body = webAgreement.Document.Body;
            if (body.ScrollRectangle.Height <= (body.ClientRectangle.Height + body.ScrollTop))
            {
                this.btnEntry.Enabled = true;  // 同意ボタンを有効
            }
        }

        /// イベントハンドラ追加
        private void webAgreement_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            webAgreement.Document.Window.Scroll += new HtmlElementEventHandler(BottomLineScroll);
        }

こんな感じです。webAgreementがWindows.Formsに配置した WebBrowser コントロールの名前。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA