• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VisualC#での画面変更の方法)

VisualC#での画面変更の方法

Yune-Kichiの回答

回答No.4

> ユーザーコントロールというものを利用していなかったので簡単に調べてみたのですが、 > メイン画面に直接ラベルなりボタンなりを貼り付けてデザインするのではなく、 > 別途デザインしたもの全体を、ラベルなりと同じひとつの部品として、 > 必要なものをレイヤー状に重ねて、必要なもののみを表示する…… > という解釈であっているでしょうか? あっています。 ユーザーコントロールは,複数のコントロールをまとめて新たな一つのコントロールにするものです。 # 似た言葉でカスタムコントロールというものがあります。既存のコントロールを継承して新たな機能を追加したものです。 > Panelにはりつけるというのは、上記のものをひとつの部品とせずに、 > 同じフォームデザイン画面の中でグループ分けして表示・非表示を切り替えるため、 > 規模が大きくなるにつれて画面が煩雑としてきて取り扱いにくいということですよね? はい。 ユーザーコントロールにしてもデザイン時は表示上重なってしまうのですが, ユーザーコントロールの中身については別途デザイン・実装できるので問題がありません。 ところが,パネルだとあくまでパネルの含まれるフォームやユーザーコントロールのデザインの一部なので, デザインするのに他のパネルが邪魔になります。 > XAMLとかにも興味はありますが、興味以上の労力を強いられそうなのが現状なので、 XAMLは ・WPF アプリケーション ・Silverlight アプリケーション ・Windows Phone アプリケーション ・Windows 8 メトロスタイルアプリケーション のUIに使う技術なので,Windows Formsアプリケーションの開発においては使いません。 # XAML自体はUI用の技術ではないのですけどね。 > もしその判断事態が誤りで、例えば描画系クラスがフォームデザイナより楽かもとかでしたら、 通常のアプリケーションでそういう状況になることはまずあり得ません。 そうなるようでしたら,WPFの利用を考慮することもお薦めします。

wisize
質問者

お礼

回答ありがとうございます。遅くなってしまい申し訳ありません。 解釈はおおよそあっていたようでほっとしております。 ユーザーコントロールとカスタムコントロールと混同していました(汗)。 気を回していただいてありがとうございます。後の混乱がひとつ消えました。 > Windows Formsアプリケーションの開発においては使いません 言葉足らずでしたね。 WPFアプリケーションも考慮しようかという意味で、そのあたりは理解しております。 ひとまずはUIを組む程度だから無理にWPFを使わなければいけない必然性はなさそうなので、平易な資料も少ない現状で無理はしない予定です。

関連するQ&A

  • 新しい画面にフォームを送信する

    ボタンがクリックされると、新しいWindowが開き、新しい画面では、元画面の入力情報を元にサーブレットで、処理を行い、結果を表示したいのですが、どういうふうにしたら、フォームを送信することができるでしょうか?

  • 画面のOnload

    main画面(A)からダイアログ(B)を表示します。 ダイアログ(B)のボタンを押すと、ダイアログ(B)をwindow.closeで消し、main画面(A)のインラインフレーム(C)を自動Loadする方法を教えてください。 window.parent・・・でやってみてはいるものの、「オブジェクトではサポートされていないメソッドです」というエラーがでます。

  • フォームの再起動について

    フォームの再起動について 一覧画面と登録処理を一つのフォームで行おうと考えています。 ボタンが押された時に登録処理を行い、一覧画面に反映させたいのですが その際にフォームの再起動が必要かと思います。 その場合、Application.Restart();としてしまうと、フォームが一度 閉じてから再表示となりますが、フォームを閉じずに一覧に反映させる 方法と言うのはあるのでしょうか? ご教授お願い致します。 Windows c# VisualStudio2010 ExpressEdition

  • Word2003新規作成で

    Word2003を新規作成しても 白紙の用紙が表示されません。 フォームフィールドの テキストボックスフォームフィールド チェックボックスフォームフィールドが 決まって表示されています。 これを消したいのですが、どのようにやればよろしいですか。 消して上書き保存にすると、名前をつけて保存ダイアログが表示 されます。 よろしくお願いします。

  • javascriptで画面を閉じる

    javascriptの画面を確認ダイアログでOKの時、閉じる処理の実装をどのようにするか考えています function back(){ if( confirm("入力内容は保存されませんがよろしいですか?")){ alert("OKが押されました"); window.close(); } else{ alert("キャンセルが押されました"); } } <div id="button"> <input type="button" name = "back" onClick="back()" value="戻る" /> </div> こんな感じに書いているのですが、[window.close();]が実行されません alertの部分はOKもキャンセルも呼ばれるのですが閉じる処理が呼ばれません 調べてwindow.close()で画面を閉じることができるというのは見つけたのですがそもそも使い方が 間違っているような気がします。 どの点が間違っているか、解決方法をお願いします。

  • 画面のフィールドの値を共通処理関数で読み書きしたい

    Access2013 VBAで、現在システムを開発しているところですが、 フォーム上の帳票のボタンを押した時の処理が、複数の画面で共通なので共通処理として使用したいと考えていますが、その時に、画面のフィールドの名前を変数に変えてどのように画面のフィールドに値をセットすればよいでしょうか。 よろしくお願いします。

  • 子画面から親画面をクローズしたい

    子画面から親画面をクローズすると確認メッセージが表示されます。 非表示の方法はありますか? 現在の処理内容:  親画面:   ボタン押下時 onclick="window.opener='main';window.open('URL');return false;"  子画面:   onload時 window.opener.close(); 確認ブラウザ:IE10、Chrome43  ※IE10では表示されるが、Chrome43では表示されない。

  • 子画面でもう一つ教えて下さい

    window.openを使用して子画面を開けた時に親画面にフォーカスが行かないようにしたいのですが、何か良い方法はないでしょうか? フォーカスが行かないというのは、ダイアログボックスを表示した時のように親画面をクリックしても子画面が前面に出ており、親画面でデータの入力ができない状態を考えています。 よろしくお願いします。

  • Access2000:[パラメータの入力]ダイアログを表示されないようにするには

    初心者です。よろしくお願いします。 フォームが完成したあとで、クエリ/テーブルから削除したいフィールドが発生してしまいました。 削除したいフィールドのコントロールをフォームから消した後に、クエリ/テーブルからフィールドを削除しました。 削除したあとにフォームを開いたところ、[パラメータの入力]ダイアログボックスが表示されてしまいました。(メッセージは"開こうとしているフォーム名" クエリ:"削除したフィールド名"です) このダイアログボックスが表示されないようにしたいのですが、どうすればよいでしょうか。 ちなみに削除したフィールドは単なるテキスト型で、選択クエリでも抽出条件等は設定していませんでした。 初歩的な質問ですみませんが、よろしくお願いします。

  • window.closeもしくはwindow.opener.closeで警告を表示させない方法

    宜しくお願い致します。 ログイン画面を作っております。 ログインフォームからID、パスワードでログインした際に、子ウィンドウを表示させます。その際に、残った親ウィンドウを子ウィンドウが開いた際に閉じたいのですが、window.closeもしくはwindow.opener.closeで閉じると警告ダイアログが表示されてしまいます。この警告ダイアログを表示させない方法はありますか?window.closeもしくはwindows.opener.closeで警告を表示させない様にする事が不可の場合、同じ動作が出来る関数はありますか?