DOBON.NETプログラミング道掲示板
(現在 過去ログ1 を表示中)

[ 最新記事及び返信フォームをトピックトップへ ]

■32950 / inTopicNo.1)  1920*1080で作ったフォームを小さくしたい
  
□投稿者/ ケンヤ 一般人(1回)-(2015/05/11(Mon) 21:31:11)
  • アイコン環境/言語:[c#] 
    分類:[.NET] 

    私のPCの環境はモニタの解像度が1920*1080です。

    Windowsアプリを画面いっぱいの大きさで作って、他人にあげました。

    そうしたところ、その人のPCではフォームが大きすぎて画面にうまく表示されませんでした。解像度を見てみたら、1280*1024になっていました。

    今まで自分のPC用でしかアプリを作ったことが無かったので、他人にアプリをあげた時に解像度の事まで気にしていませんでした。

    今のところ力技で、自分のPCの環境を1280*1024にさげて、リサイズして渡そうと思っているのですが、これだと労力がかなりあります。

    何か良い解決方法がありましたら、お教え頂けるとありがたいです。よろしくお願いします。
引用返信 削除キー/
■32951 / inTopicNo.2)  Re[1]: 1920*1080で作ったフォームを小さくしたい
□投稿者/ 魔界の仮面弁士 大御所(959回)-(2015/05/12(Tue) 11:58:37)
  • アイコンNo32950に返信(ケンヤさんの記事)
    > 今のところ力技で、自分のPCの環境を1280*1024にさげて、リサイズして渡そうと思っているのですが、これだと労力がかなりあります。
    > 何か良い解決方法がありましたら、お教え頂けるとありがたいです。
    ケースバイケースですかね…。

    たとえば、5120×2880 な 5Kモニタ向けに作られたアプリケーションを
    800x480 な USB モニタでも使えるようにとなると、使い勝手を考えて、
    画面を再設計しないとどうにもならないでしょうし。

    既に作ってしまったものに関しては、力技しか無いかも知れません。
    手抜き実装なら、AutoScroll を使うとかですかね。


    とりあえず、画面サイズへの対策としては:

    ・「メモ帳」「ペイント」などのように、可変サイズに耐えられる設計にする。
    →Dock プロパティ、Anchor プロパティ、FlowLayoutPanel、SplitContainer 等

    ・想定される最小サイズの画面に併せて設計するようにする。
    →より大きい画面の時にも小さいサイズのままとするか否かも検討する。

    ・画面解像度を調べ、画面構成を切り替えるように作りこむ。
    →追加のコーディングが必要
     http://dobon.net/vb/dotnet/system/displaysize.html
     http://dobon.net/vb/dotnet/form/autoscale.html

    ・AutoScroll プロパティを使う。
    →画面に収まりきれなかったコントロールが、Webブラウザーのように
     スクロールバーを伴って表示させられるようになる。


    その他、ストアアプリの場合はこのあたり。
    https://msdn.microsoft.com/ja-jp/library/windows/apps/hh465349.aspx


    なお、解像度以外にも、フォントの違いや、DPI 設定の違い、さらには
    最大色数設定などが画面構成に影響を与えることがあります。御注意あれ。
引用返信 削除キー/
■32952 / inTopicNo.3)  Re[2]: 1920*1080で作ったフォームを小さくしたい
□投稿者/ ケンヤ 一般人(3回)-(2015/05/12(Tue) 15:58:09)
  • アイコン 魔界の仮面弁士さん

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

    今まで解像度やDPI、フォント違いなどの事は意識しなくてアプリを作っていました・・・

    可変サイズに耐えられるような設計にするのが、綺麗で良さそうです。今後はその辺りを勉強してみたいと思います。

    今回はAutoScrollプロパティの設定で乗り切ろうと思います。AutoScrollの存在自体知らなくて、フォームのはみ出た部分が表示されなくて困っていました。

    お教え頂きありがとうございます。
解決み!
引用返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/


- Child Tree -