• ベストアンサー

VisualStudioでのフォーム改変作業

 プログラミング初心者です。あるソフトのフォームデザイン改変作業を行なっています(VisualStudio2005 C#を使用)。  ソリューションエクスプローラ欄から目的フォームの.csファイルをダブルクリックするとフォームが表示されます。通常はこの画面とプロパティ欄を操作するだけで改変できるのですが、「フォームの最大化ボタンを押して最大化した場合、フォームはどんなレイアウトになるか」を知りたいです。  なお未完成のソフトのため、ビルドエラーが出てデバッグは出来ません。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.3

>標準状態でのフォームの大きさを変更したりはできますが、最大化した後のフォームを表示するにはどうすればよいのでしょうか? 「フォームデザイナで最大化された時のデザイン」をしたい。 ということですか? そういう機能はおそらくありません。 環境によって、最大化された時のウィンドウサイズはまちまちになります。 デスクトップのサイズが800x600と1280x600とか1440x900とか1920x1080とか……ばらばらですよね? よって…サイズ変更イベント内で各コントロールの位置を適切に移動させる。 ということになるかと思われます。 # 破綻しない範囲で…このコントロールはXサイズのほにゃらら%の位置からほにゃらら%のサイズに…とかでしょうかねぇ…。 そういうのが面倒。 という場合は、そもそも最大化できないように作るでしょう。 # コントロール沢山配置しすぎて最低サイズ(800x600)でも収まらない。とかいうなら別ですが…。 # ワイド型で妙な解像度があったりしますから縦方向は480以内の方が安全かもしれません。 # 沢山のコントロールを配置しないとならない……なんて場合はタブコントロールで整理すべきでしょうけどね……。 と、ここまで書いてちょいと検索してみると…… http://www.atmarkit.co.jp/fdotnet/csharptips/002anchor/002anchor.html プロパティである程度まで追従して移動してくれるようです。 各コントロールでAnchorプロパティを適切に設定することで、よろしく処理してくれるようです。 右下に配置したボタンならBottomRightとか。 フォーム中で最大化された時に一緒に大きくなってかまわないコントロールならAllとか……。 # 私も勉強になりました…。

yamada504
質問者

お礼

ご回答ありがとうございました。 一番参考になったこちらの回答をベストアンサーにさせて頂きます。

その他の回答 (2)

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.2

>出てくるフォーム画面は標準の大きさです。画面上の最大化ボタンを押しても、ドラッグして引っ張っても最大化はしません。このフォームが最大化した場合のフォーム画面を表示する方法を知りたいです。 実行して表示されるフォームに最大化ボタンがあるのに最大化されない…のですか? とくに処理を追加していない場合、最大化ボタンを押したら最大化されるものかと思われますが……。 WM_SYSCOMANNDで無理矢理無視するとか、WM_SIZEで無理矢理…とかしているんでしょうか? それだったらそもそも最大化ボタンをfalseにしてフォームに表示しない。という対応をすべきなのですが……。 サイズ変更イベントでレイアウトを修正する処理が入っていないのではれば、 結果としては#1さんの回答されているように右方向と下方向に余白が出来る(左上(クライアント座標の原点0,0が左上))にコントロールなどが配置されたまま。ということになりますが……。 # 初期サイズより縮む場合は…コントロールが画面からはみ出る状態になるので「はみ出た分は表示されない」ということになるかと…。

yamada504
質問者

補足

すみません。どうも日本語が下手でご迷惑をお掛けします。 >実行して表示されるフォームに最大化ボタンがあるのに最大化されない…のですか? ここで言う「出てくるフォーム画面」とは、プログラムを実行して出てくるフォームではなく、VisualStudioのエクスプローラ欄でフォーム名.csファイルをダブルクリックして表示したフォーム画面のことです。(普通にプログラムを実行すると、ビルドエラーが出てできません)。 右下のプロパティ欄を編集することによって、最大化ボタンを「true」設定で追加したり、標準状態でのフォームの大きさを変更したりはできますが、最大化した後のフォームを表示するにはどうすればよいのでしょうか? という質問でした。

  • joqr
  • ベストアンサー率18% (742/4026)
回答No.1

何もしていなければ、下、右下、右方向に余白が広がるだけ

yamada504
質問者

補足

すみません。私の文章の書き方が間違っていました。 「フォームの最大化ボタンを押して最大化した場合、フォームはどんなレイアウトになるか」 はcsファイルを開いた後に出てくるフォーム画面の最大化ボタンを押すという意味ではありません。 出てくるフォーム画面は標準の大きさです。画面上の最大化ボタンを押しても、ドラッグして引っ張っても最大化はしません。このフォームが最大化した場合のフォーム画面を表示する方法を知りたいです。

関連するQ&A

  • Windowsフォームを思通りにデバッグできない

    こんにちは。Visual Studio 2012を勉強しようとしていますが、さっそくつまずきました。 言語はC#で、Windowsフォームを作成しました。 WindowsフォームでForm1というフォームを作成。 F5のデバッグの開始で正しく実行されました。 次にソリューションエクスプローラーから追加で、Windowsフォームを追加しました。このフォームの名前をForm2にしました。 これでF5のデバッグの開始をクリックしたら、Form1が起動してきました・・・ Form2でデバッグの開始を行いたいのですが、どのように実行すればよいでしょうか?

  • VisualStudioでのバージョン更新方法

    VisualStudio2013 でC#を使って開発を行っています。 プロジェクトのアセンブリバージョン、ファイルバージョンの書き換えについて質問させてください。 一つのソリューションの中にいくつかのプロジェクトがあり、 そのバージョンを一つ一つ変更するのが手間なのでバージョンだけを書いたプロジェクトを作り それを各プロジェクトから参照出来ないかと考えました。 VersionLibというプロジェクトを作成しその中に下記のものを作成しました。 /// <summary> /// ヴァージョン管理用クラス /// </summary> public class version { // ヴァージョン情報 public const string A_Lib_Ver = "0.1.0.0"; public const string B_Lib_Ver = "0.1.0.0"; public const string C_Lib_Ver = "0.1.0.0"; public const string TestPrj = "0.1.0.0"; public const string verson_Ver= "0.1.0.0"; } 各プロジェクトのAssemblyInfo.cs の中で [assembly: AssemblyVersion(version.A_Lib_Ver)] [assembly: AssemblyFileVersion(version.A_Lib_Ver)] のような形で記述しました。 ソリューションの構成は TestPrjというプロジェクトがA_Lib、B_Lib、C_Libという3つのプロジェクトを参照しています。 上記の1+3のプロジェクトはVersionLibプロジェクトを参照しています。 A_Lib、B_Lib、C_Lib及び、VersionLibプロジェクトのビルドは通るのですが、TestPrjのビルドが通らず 「エラー 16 ファイル "C:\\TestPrj\Version\bin\Debug\Version.dll" を "bin\Debug\Version.dll" にコピーできません。別のプロセスで使用されているため、プロセスはファイル 'bin\Debug\Version.dll' にアクセスできません。」 と表示されエラーになってしまいます。 ビルドの順番を変えてみたりしましたが変化はありませんでした。 また一度VisualStudioを閉じて再度ソリューションを開くと添付の画像のエラーがでました。 この現象の解決方法がありましたら教えていただきたいです。 また、別の方法でバージョンをまとめて変更できる方法がありましたらそちらでも結構なので教えていただけたら嬉しいです。 宜しくお願い致します。

  • VisualStudioのプロジェクトリソースファイル削除

    VisualStudio2005で開発をしています。言語はVB2005です。 現在、Windowsフォームに配置したボタンに画像を貼りつける作業をしています。 必要な画像を作成し、プロジェクトリソースファイルにインポートしました。 不要な画像ファイルを見つけたので、ソリューションエクスプローラ上から画像ファイルを削除しました。 しかし、プロジェクトリソースファイルの一覧からは消えませんでした。 削除したはずのファイル名を選択しすると、リソースの選択画面が終了してしまいます。 プロジェクトリソースファイル一覧上から削除したはずのファイル名を削除したいのですが、どのようにすれば削除できるのでしょうか?

  • 変更したアイコンを他のPCでも反映させるには?

    VisualStudio.netにて、VB.NETを使って簡単な プログラムを作りました。 ソリューションエクスプローラのプロジェクトの プロパティから、共通プロパティ>ビルドで、 オリジナルのアイコンを設定しました。 これを、リリースモードでビルドして、知人に exeファイルだけ送ったのですが、アイコンが デフォルトのままになっています。 変更したアイコンを、他人のPCでも反映させるには どのようにしたら良いのでしょうか? ご教授くださいませ。

  • MFCに関する質問です。

    みなさん、はじめまして! VC2008でMFCアプリケーションプログラミングを始めて習うものですが、最初にソリューションファイルを作って何も書かない場合でビルドして、デバッグすると白いページが出てきますが、 OpenCVで画像処理の二値化のプログラムを書いて実行したら、ビルドしてエラーは発生しませんが、デバッグしてみると、「OLEの初期化に失敗しました。OLEのライブラリのバージョンが正しいことを確認してください」とのメッセージが出てきて、OKボタンを押すと、何も処理してくれません。 ネット上でいろいろ調べましたが、まだ解決できていません。 MFCについて、まだぜんぜんわからないので、上記のことをどう対処したらいいのかをご指導いただきたいです。 どうぞよろしくお願いします。

  • デザイナの表示(Visual Studio 2008 )

    Visual Studio2008でMFCアプリケーションの作成を行なっています。 以前はVisualC# ExpressEditionのWindowsFormアプリケーションでアプリケーションの作成を行なっていました。しかし、製品版でしかサポートされていないMFCアプリケーションのみで動作するコンポーネントを使うことになり、開発環境をこちらに移行してきたところです。 そこで不明な点が出てきたので質問します。 今までC#ではデザイナの表示は「表示」→「デザイナ」もしくは、ソリューションエクスプローラの(Form_name).csをダブルクリックすることによりできました。 ですが、VisualStudio2008のMFCアプリでは最初にプロジェクトを作ったときはデザイナ画面が出ているのですが、2回目に開いてからはどこにも出ません。(project_name)Dlg.hのファイルの種類をフォームにするなど試したのですが、だめでした。出来る限りコードから生成するのは面倒なので避けたいです。 詳しい方お願いします。

  • お問い合わせフォームについて

    お問い合わせフォームについて 皆様のお知恵をお貸しください。 個人企業で経営しているものです。 ホームページで予約のフォームを作成しています。 ソフトはCS4(DW)。 今は広告の入ったサイトを、無料でレンタルしています。 しかし、項目欄が少なく不満です。 住所のとこに郵便番号を入力するだけで住所が入力できたり、項目を入力中に背景が変わったりしたいです。 無料でなくてもよいので、低額(1万前後)で優良なレンタルはありますでしょうか。 よろしくお願い致します。

  • 開発環境

    JavaScriptの開発環境に関して質問があります。 マイクロソフト系の言語ならVisualStudio、JavaやPHPならEclipse といったステップ実行可能なデバッグ機能が付いた開発環境があります。 皆さんは、JavaScriptをどのような環境で開発していますか? JavaScriptでAjaxのプログラミングをしたのですが、 開発経験がないため入り口から分かりません。 今は、ブラウザにデバッグライトを出してプログラミングしてます。すごく能率悪いです。 初歩的な質問かもしれませんがご存知の方、教えてください。

  • Visual Studio 2010でソリューションを読み込むとフリー

    Visual Studio 2010でソリューションを読み込むとフリーズします。 Visual Studio 2010でC#を使ってプログラムを開発しているのですが、 ソリューションを読み込もうとすると、必ずフリーズし、 [Visuals Studio 2010は動作を停止しました]となって終了させられます。 もう一度開くと、 [前回このソリューションが読み込まれたとき、関連ドキュメントを開くときにエラーが発生しました。エラーを回避するために、このソリューションの読み込み中はドキュメントの読み込みがスキップされています。] という警告がでますが開くことができます。 ソリューションエクスプローラーから普通にForm1.csやProgram.csなど開けます。 そして普通に開発後、ソリューションを閉じて、再び開こうとすると再びフリーズを起こします。 いったいこれはなんなんでしょうか? ソリューション読み込み時に自動的にファイルを開くときにエラーが起こってるっぽいのですが・・・ ちなみに新しく Windowsフォームアプリケーション を作成しても同じ現象が起こります。 再インストール、アップデート済みです。 よろしくおねがいします。 追記: どうやら、ソリューションを閉じるときに、デザイナを開いていると、フリーズするようです。 デザイナを開かなかったときは普通に読み込めました また、デバッガで例外発生場所は、 res = _heap_alloc(size); というところでした、

  • iPhoneサイトのフォームを拡大したら戻らない

    スマートフォン向けサイトのHTMLをコーディングしています。 会員登録フォームのページです。 フォーム欄に入力しようとすると、自動的にページが拡大されます。 一度拡大されてしまうと、一旦ページを落として再度開かないと縮小できません。 そのため、拡大された状態なので画面が左右にぶれてしまい、 下方向への操作がしづらくなります。 ユーザーにタッチして縮小してもらう他方法はないでしょうか? ちなみにメタタグに以下のように記述しました。 <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes, maximum-scale=1.5, minimum-scale=1.0, "> user-scalable=noとすると拡大はしないのですが、 フォームの入力欄が小さすぎて見づらくなります。 HTMLは横幅を指定しないグリッドレイアウトです。 CSSはfont-size: 10pt; 他はフォームの横幅を最大200pxに指定している程度の シンプルなページです。

    • ベストアンサー
    • HTML