none
TextBoxのスクロールバー制御 RRS feed

  • 質問

  • お世話になっております。
    C#2008環境下で開発しています。
    TextBoxをマルチラインにし、スクロールバーを垂直・水平両方しているのですが、垂直スクロールバー位置の取得を行いたいと思うのですが、
    TextBoxコントロールからどうやってスクロールバーコントロールへアクセスしたら良いのか分からなくて困っています。
    そもそも制御不可なんでしょうか?
    出来るのであればTextBoxコントロール内のスクロールバーコントロールの取得方法、もしくは位置の取得方法知っている方いましたら
    教えていただけないでしょうか?
    2010年3月10日 5:15

回答

  • 出来るのであればTextBoxコントロール内のスクロールバーコントロールの取得方法、もしくは位置の取得方法知っている方いましたら
    教えていただけないでしょうか?
    正攻法でアクセスできるものはメンバー一覧で公開されています。
    そこにはスクロールバーを公開する要素はありません。
    http://msdn.microsoft.com/ja-jp/library/system.windows.forms.textbox_members.aspx


    GetScrollInfo といった API を使えば無理矢理取れると思います。
    もっと簡単な方法がないのか?については情報を持っていませんので何とも言えません。
    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    2010年3月10日 14:31
    モデレータ

すべての返信

  • 出来るのであればTextBoxコントロール内のスクロールバーコントロールの取得方法、もしくは位置の取得方法知っている方いましたら
    教えていただけないでしょうか?
    正攻法でアクセスできるものはメンバー一覧で公開されています。
    そこにはスクロールバーを公開する要素はありません。
    http://msdn.microsoft.com/ja-jp/library/system.windows.forms.textbox_members.aspx


    GetScrollInfo といった API を使えば無理矢理取れると思います。
    もっと簡単な方法がないのか?については情報を持っていませんので何とも言えません。
    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    2010年3月10日 14:31
    モデレータ
  • こんにちは、情報ありがとうございます。
    おっしゃるとおりTextBox、TextBoxBaseにはそれらしいメソッドやプロパティないんですよね。。。
    Controlsプロパティで取得できたらラッキーと試してみたんですがやはりだめでした。
    APIも視野に含め考え直します~
    2010年3月12日 1:20
  • こんにちは。フォーラムオペレーターの高橋春樹です。

    Azuleanさん
    いつもお世話になっております。
    アドバイスの投稿有難うございました。

    Ashtalさん
    MSDNフォーラムのご利用有難うございます。
    AzuleanさんのアドバイスにあったGetScrollInfoを使用すると情報を取れるかもしれませんね。
    実際にコードを試してないのですが、こちらのサイトにサンプルコードが載っていましたので、ご紹介しておきます。

    GetScrollInfo (user32)
    http://www.pinvoke.net/default.aspx/user32/GetScrollInfo.html

    今回、Azuleanさんからの投稿が有用な情報だと思いましたので、
    勝手ながら回答マークを付けさせてもらいました。

    今後ともMSDNフォーラムを宜しくお願いします。


    マイクロソフト株式会社 フォーラム オペレーター 高橋春樹
    2010年3月17日 8:49