前提
windows.formsアプリケーションを製作しております。
C#でパネルを使って、フォーム外にあるアイテムを表示させようとしています。
フォーム表示が800×600の大きさです。
パネルの大きさが800×600にしてます。
パネルのロケーションの位置を(0,0)で表示させ、(800,1200)の大きさにあります。
表示させたいアイテムのロケーションが(0,800),(400,800)にあり、
大きさがそれぞれ同じ(400,800)の大きさです。
表示させたいアイテム同士は同じパネルの上にあり、
アイテムはパネルの上にある事がデザイン画面で確認できており、
新しくインスタンス化してコントロールに追加する必要はございません。
最大拡大するとこうなります。モニターの大きさは1200,900です。
実現したいこと
- パネルをスクロールできるように設定する。
- パネルの上にあるアイテムをスクロールさせてフォーム外からフォーム内に表示させる。
発生している問題・エラーメッセージ
ありません。
該当のソースコード
C#
1namespace test 2{ 3 public partial class Form1 : Form 4 { 5 public Form1 () 6 { 7 Panel1.VerticalScroll.Visible = true; 8 Panel1.VerticalScroll.Enabled = true; 9 } 10 } 11}
試したこと
スクロールバーを表示させたがメインパネルが表示されない。
補足情報(FW/ツールのバージョンなど)
VSを使い.NETframeWork4.8で動作させております。
ScrollableControl.AutoScroll プロパティ
https://learn.microsoft.com/ja-jp/dotnet/api/system.windows.forms.scrollablecontrol.autoscroll?view=netframework-4.8
パネルの中にあるので、パネルにオートスクロールプロパティを使用してみたのですが、画像の感じになってしまいました。
前にも言いましたが何を何で作っているか書きましょう。Windows Forms アプリと言うことが書いてないです。コードを見れば分かるだろうとか思ってるかもしれませんが、手抜きしないで書いてください。
質問の説明では何をしたいのかわかりません。
前にもお願いしましたが、読んでください⇒ https://teratail.com/help/question-tips
特に以下のところ:
"人に質問をするには、自分が何を尋ねたいかを知っている必要があります。これは、「自分が今『何がわからないのか』がわかっていて、言語化できている」ということです。何がわからないかわからない人から質問を受けても、答える側も困ってしまいます"
それは回答と関係ある事柄でしょうか。
関係ある事柄だと思い、変更いたしました。
前にもご説明いただいたので、今回はURLの方は大丈夫です。ありがとうございます。
先のあなたのスレッドのように、日本語レベルで意味が分からなくて、技術的な話をする以前の問題なのです。
そうなんですね。
そうなんです。質問の始まり、
> フォーム表示が800×600の大きさです。パネルの大きさが800×600にしてます。パネルのロケーションの位置を(0,0)で表示させ、(800,1200)の大きさにあります。
・・・からして意味がわかりません。
そうなんですね。
そうなんです。
指摘を受けて質問を書き直したようですが、依然として意味不明なんです。
> フォーム表示が800×600の大きさです。
Form クラスのオブジェクトのサイズが ClientWidth = 800, ClientHeight = 600 ということですね。
わかります。
> パネルの大きさが800×600にしてます。
パネルの大きさをフォームに合わせているわけですね。
わかります。
> パネルのロケーションの位置を(0,0)で表示させ、(800,1200)の大きさにあります。
大きさが変わり、前提が崩れました。
意味不明です。
> 表示させたいアイテムのロケーションが(0,800),(400,800)にあり、
> 大きさがそれぞれ同じ(400,800)の大きさです。
表示させたいアイテムというのはここで初めて出てきましたが、説明がないために何なのかわかりません。
フォームやパネルとの関係もわかりません。
前二つが二つのアイテムのフォーム上の位置であり、大きさはどちらも同じであると仮定して読み進めます。
つまりどちらもフォームから外にはみ出しており、全く見えません。
> 表示させたいアイテム同士は同じパネルの上にあり、
> アイテムはパネルの上にある事がデザイン画面で確認できており、
> 新しくインスタンス化してコントロールに追加する必要はございません。
アイテムはパネルの子であることがわかりました。
フォーム上の位置と思っていたものをパネル上の位置に修正します。
> 最大拡大するとこうなります。モニターの大きさは1200,900です。
モニターの大きさがどう関係するのかわかりません。
フォームやパネルは依然として高さが 600 であり、表示したいアイテムは完全に隠れているはずですが、「自分」と「相手」というのが表示したいアイテムではないかと推察されます。
つまり説明と食い違っています。
> スクロールバーを表示させたがメインパネルが表示されない。
完全に意味不明です。
高さの件を少し勘違いしていたために修正しました。
登録から二年経ちましたが、過去の質問のことごとくに回答者が首をひねっているので、そろそろ質問の質を上げても良いのではないかと思います。
> 技術とか日本語の使い方は質問と関係ないです。
「僕の技術とか日本語の使い方」は大いに関係あります。
読みましたか?⇒ https://teratail.com/help/question-tips
"人に質問をするには、自分が何を尋ねたいかを知っている必要があります。これは、「自分が今『何がわからないのか』がわかっていて、言語化できている」ということです"
「僕の技術とか日本語の使い方」の問題で、上のことができてなくて話が通じてないということは自覚してないのですか? 何度か言ってるのに改善されなくて、上のように逆切れしてるということは、そうなんだろうね。
> 理解してくださる方もいらっしゃいますのでもうこれ以上の言及はお止めください。
同じようなことをすれば何回でも言いますので期待しておいてください。
回答1件
あなたの回答
tips
プレビュー