creative-account
@creative-account

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

ウィンドウサイズが小さい

解決したいこと

WindowsFormで東方のような弾幕シューティングゲームを作っています。
風神録のウィンドウサイズが640x480なので、それにあわせて、ウィンドウサイズを640x480にしたのですが、重ねたときにあいません。
スクリーンショット 2022-10-06 21.jpg

Visual Studioのプロパティーもちゃんと640x480に設定されています。
なぜ合わないのでしょうか?
また、タイトルバーの高さの変え方も併せて教えて欲しいです

自分で試したこと

スクリーンショットを撮って測ってみたけど、風神録のサイズは640x480で間違いなかった。
自分で作ったのは600x441くらいだった。

あとは特にないけど、
Visual Studio 2022と
Windows 11 Home 21H2を使用しています。

0

1Answer

質問のタグに、言語名やプロジェクトの種類も含めたほうが目に留まりやすくなりますよ。(C#とかWinFormsとか)
また、質問文には、使用しているフレームワークのバージョンも記載してください。
(.NET Framework4.x、.NET6とか)
バージョンやフレームワークによって使える機能も違うので、解決方法が変わってくる場合があります。

もしかして、ウィンドウサイズではなくて、クライアントサイズを640x480にしたいんですかね?フォームロード処理で、クライアントサイズを調整すれば良いと思います。

    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);

        this.ClientSize = new Size(640, 480);
    }

タイトルバーをカスタマイズしたいなら、FormBorderStyle=Noneにして、Panel、PictureBox、Labelなりで独自のタイトルバーを表示してしまえば良さそうですが、その場合、クライアントサイズもその分調整する必要がありますし、
・タイトルバーを掴んでウィンドウを移動する
・閉じるボタン、最大化ボタン、最小化ボタン(それぞれ必要があれば)
等の標準の処理も、自分で実装する必要があります。
タイトルバーのデザインを変更したい強い動機がないのであれば、なるべく標準のタイトルバーのまま使う事をお勧めします。

1Like

Comments

  1. ありがとうございますぅぅぅ!!!
    おかげさまで解決できました!

    久しぶりに(Qiitaを)使ったので書き方忘れてました…
    使っているのは .NET Framework4.x と C#です。
  2. .NET Framework4.x は例なので、そこは正確なバージョンを書くようにしてください。
    4と4.8では全然違いますので。

Your answer might help someone💌