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

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

新規登録して質問してみよう
ただいま回答率
85.48%
C#

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

Q&A

解決済

2回答

856閲覧

c#のフォームの1部だけを縮小しても常に表示させたい

d_neko

総合スコア108

C#

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

0グッド

0クリップ

投稿2018/10/11 16:25

c#のフォームのプロパティのautoscrollをtrueにして、
フォームを小さくすると、
横にスクロールバーがでます。

そのフォームの一部だけを、スクロール外にするにはどうすればいいのでしょうか。

フォームの一番下にボタンを設置して、フォームを小さくしても、
そのボタンだけは、常に表示させたいと思っています。
よろしくおねがいします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2018/10/11 17:39

小さいところに大きいものをどうやって置くのですか?
d_neko

2018/10/12 10:41

AAでイメージをいれたら、プレビューでは別物に表示されてしまいます。イメージは他の人の画像のとおりです。
Zuishin

2018/10/12 10:45

では解決しそうですね。
d_neko

2018/10/12 10:49

Anchorってやつで、できるような気がするので、いろいろいじっているのですが、なぜか解決しません。
Zuishin

2018/10/12 10:54

待っていれば今回答してくれている人たちが教えてくれると思います。パネルを二枚貼り付けてパネルの Anchor または Dock を設定します。
d_neko

2018/10/12 11:01

Dock ってやつもあやしいので、いろいろさわっているのですが、ボタンが固定されません。
guest

回答2

0

イメージと異なっていれば大変申し訳ないのですが、
パネルを使用することで実現できるのではないでしょうか?

イメージ説明

ボタン以外の部分をpanel1の中に
ボタンだけをpanel2に配置します。

そして、panel1だけをautoscroll = trueにしてください。

※そしてpanel1の中にpanel1の大きさを超えるコントロールを配置すれば、
スクロールバーが表示されるかと存じます。(普通やらないと思いますが・・・)

いかがでしょうか?
ご確認の程お願い致します。

投稿2018/10/12 01:31

編集2018/10/12 01:34
sujico.net

総合スコア453

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

d_neko

2018/10/12 10:31

ありがとうございます。 パネルの使い方自体よくわかっていません。 他の人に教えてもらった、Anchorとかでできそうな気がするのですが、 値を変えてもうまくいきません。
guest

0

ベストアンサー

構成分かりませんがパネルとAnchorなどで解決できないでしょうか?

通常サイズ

小さくした場合

小さくした場合

小さくしたくないものが大きいなら上記のようなフォームではちょっと思いつかないです..。

投稿2018/10/11 20:59

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

d_neko

2018/10/12 10:22

ありがとうございます。 おかげで、Anchorというものを知ることができました。 この程度なので、パネルとAnchorなどでどうやって解決するかわかりません。 しかし、やりたいことは、画像のとおりです。
退会済みユーザー

退会済みユーザー

2018/10/12 11:37 編集

Anchorは上下左右(Top,Bottom,Left,Right)の設定ができ、名前の通りサイズ変更された場合に追随するような動きをします。 BottomのAnchorが設定されていた場合、サイズが下方向に大きくなれば下に向かってAnchorが設定されたコントロールはサイズを変更します。 Panelを設置して、デザイナーのプロパティウィンドウから変更することができます。 コードで書くとこのような形です。 panel1.Anchor = ((System.Windows.Forms.AnchorStyles)( (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); また、スクロールバーを自動で表示するようにする場合は、AutoScrollをtureに設定してください。 panel1.AutoScroll = true; panelのAnhorとAutoScrollを組み合わせることで、Panelの子コントロールに配置されたものはフォームのサイズに関係なく操作は出来る状態になります。 (まあ、見づらいし操作はしにくくなりますが) 画像のButton1も同様にAnchorを設定します。 これはサイズが変わっても右下から動いてほしくないのでBottom,Rightで設定します。 Top,Leftを設定してしまうとボタンのサイズが変わってしまいます。 各コントロールのAnhorプロパティを色んなパターンで設定してみて、フォームのサイズをぐりぐり変えてみるとイメージがつくと思います。 まずは設定してみて動かしてみることをお勧めします。
d_neko

2018/10/12 12:22

ありがとうございます。 ぐりぐりかえていたら、できましたーーーーー
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問