質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.47%

  • C#

    9245questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

【C#】スクロールバーの表示方法がわかりません。

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,071
退会済みユーザー

退会済みユーザー

スクロールバーの表示方法がわかりません。

C#初心者です。
現在C#(VisualStudio2015)で描画ツールを作成しております。
機能の一つとして、描画したオブジェクトの拡大縮小を
以下のサイトを参考に作成しました。
http://imagingsolution.blog107.fc2.com/blog-entry-287.html
(Panelの上にPictureBoxを表示し、親子関係を持たせています。)

上記方法で作成した場合、拡大してもスクロールバーが表示されません。

Graphicsに対して拡大縮小を行う場合はスクロールバーを表示することは
難しいでしょうか?
(Panelのスクロールバーがコントロールに対するイベント?であることは認識しています)

方法がありましたらご教授お願い致します。
また、できない場合は別の方法がありましたらご教授いただけると幸いです。

よろしくお願い致します。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

私の中の最終的な完成図のイメージが間違っているかもしれませんが、ひとまず下記をお試しください。

・PanelのプロパティAutoScrollをTrueにしてみてください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/09/12 14:39

    ご回答ありがとうございます。

    PanelのAutoScrollをTrueにしてみましたが、スクロールバーは表示されませんでした。。。

    キャンセル

  • 2016/09/12 14:42 編集

    PictureBoxのDockがFillになっていませんか?DockはNoneにしてSizeを拡大してみてください。
    (Panelの方のDockはFillにしておくとアプリケーション実行中に引き延ばすことができます)

    キャンセル

  • 2016/09/12 14:56

    全て設定を変更してみましたが表示されませんでした。。。
    (PanelのDockはFillとNoneを試しました!)

    URLに載っている方法の場合、PictureBoxを拡大せずGraphicsのみ拡大している?
    ためなのかスクロールバーが表示されないのでしょうか。。。

    うまく説明できず申し訳ございません。

    キャンセル

  • 2016/09/12 15:20

    上記URLのサンプルを落として確認してみました。
    単純にスクロールバーが出ているのを確認したいだけであれば
    1.Form1.Designer.cs 89行目
    this.pictureBox1.Size = new System.Drawing.Size(348, 245);
    のサイズを適当に大きくしてみてください。とりあえず(500,500)くらい
    2.同ソースの83行目
    this.pictureBox1.Dock = System.Windows.Forms.DockStyle.Fill;
    を削除してください。
    3.Form1のAutoScrollプロパティをTrueに設定してください。

    ひとまずそれでスクロールバーが出るのは確認できるはずです。

    その後はどんなアプリケーションを作りたいのかによります。
    例えば、上記でサイズはとりあえず500,500にと言いましが、元画像の大きさを読み取って合わせた方がいいかもしれません。

    キャンセル

  • 2016/09/13 09:34

    ご連絡が遅くなり申し訳ございません。
    ありがとうございます!

    教えていただいた方法でスクロールバーが表示されました!
    やはりGraphicsやBitmapだけでなくPictureBoxも拡大しないといけないんですね。。。

    後は原点が移動した場合に対する処理をどうにかしようと思います。
    ありがとうございました!

    キャンセル

  • 2016/09/13 10:44

    多分、お目当てのものがあると思われる場所を紹介しておきます(英語ですが)
    http://www.codeproject.com/Articles/26532/A-Zoomable-and-Scrollable-PictureBox
    http://www.codeproject.com/search.aspx?q=PictureBox&x=0&y=0&sbo=kw

    登録すればソースもダウンロードできます。
    登録方法
    http://tinqwill.blog59.fc2.com/blog-entry-80.html

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.47%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • C#

    9245questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。