こんにちは、皆さん。今日は、当サイトで扱う、「基本の Form 形態」について、お話ししたいと思います。
というのは、当サイトの「コンセプト」は、「小さなアプリケーション」を、沢山作ることを目標にしています。しかし、ただ漠然とそれを行うのは、難しいと思います。
また、個々に共通部分がないと、全てを一から理解する事になるので、野放図に時間が過ぎたり、共有ができません。
まぁしかし、共有することは「前提」としては考えていないのですが、ある程度の「スケルトン」や「テンプレート」は、有った方が良いと思います。
ですから、その辺りを解説して見ましょう。Let’s get started !.
先ずは、復習です。
今回、「基本の Form 形態」については、結果と概要だけを示します。
そして、この先作る「小さなアプリケーション」は、この「基本の Form 形態」の上に、作成して行きます。ですから、ここからが実質的な「出発点」です。
過去の記事は、それをスムーズに行うための「前提」であり、必要不可欠な「設定」です。
当サイトの「オススメ記事」を、ただ只管、愚直に何回も行っていれば、今回の「基本の Form 形態」は、簡単に作れます。
また、次回以降の記事に対しても、違和感なく「自分の意志」で、対応できるようになります。ですから、頑張ってみて下さい。
そうですね、私のコンセプトとしては、学んでから「何かを作る」というよりも、何かを作ってから「学ぶ」という方が、多いと思います。
というのは、コンピューターの「言語のマニュアル」というのは、どんな言語においても、膨大な量の「ドキュメント」や「チュートリアル」があります。
それらを、「右から左まで」読んで行くのは、何か月掛かるのか分かりません(笑)。
ですから、先ずは、遣りたい目標を決めて、作りたい物を作ってみます。当然、出来ませんよね。例えば、テキストファイルの読み込みとか。
そこで、「F1」を押下して、マニュアルを参照します。しかし、テキストファイルとかの「ファイル関係」に関しては、そう簡単には、適切な参照が見付かりません。
その場合は、自分の持っている「書籍」や「リファレンス」、或いは、「ネット検索」を行います。キーワードは、「テキストファイル」です。
近年では、「AI」に質問すると、標準的な方法を教えてくれたりします。m(_ _)m
そうやって、より深い知識を得ることが出来ます。そして、それとは別に機械が有れば、正規のマニュアルで確認して置きましょう。
Visual Studio の「ヘルプビュアー」は、非常にスマートなので、「お気に入り」にマークして置くことも出来ます。
そしてその時は、必要な項目ですから、結構深いところまで、真剣に読んだりします(笑)。その時に、色んな付加価値が、同時に学習できます。
例えば、「using」とか「FileStream」とか「Encoding」とかです。
これらの事は、中々、マニュアルを読んでいるだけでは、実感が湧かないのですが、正に、「棚から牡丹餅」ですね(笑)。
そうやって、少しずつ覚えて行く、という事です。
ヘルプビュアーの使い方について。
「ヘルプビュアー」について、取り上げたので、簡単に説明したいと思います。
「ヘルプビュアー」というのは、本家本元のマイクロソフト社が提供している、非常にスマートな「マニュアルを参照するツール」です。
Visual Studio 関連の開発においては、必須のツールであり、有益な「サンプルコード」が、非常に沢山掲載されています。
ですから多くの場合、先ず「F1」を押下して、マニュアルを参照します。この時に、恐らく50%位の確率で、問題が解決できるかも知れません(50%というのは、感覚です)。
しかし、残りの50%は、「ヘルプビュアー」だけでは解決出来ません。
その時にどうするのかというと、上記にも書きましたが、自分の持っている(または、新たに購入する)「書籍」や「リファレンス」を使って、或いは、ネット検索を行って、問題を具体的に調べます。
そうやって少しずつ、「スキル」を身に着けて行きます。そして、「失敗」は定番ではありますが、「成功の基」です(笑)。
それでは、どういう情況で、「ヘルプビュアー」を使うのかを説明します。
この場合は、「Form のデザイン」上で、調べたいコントロール(インスタンス)を、クリックしてから「F1」を押下します。
そうすると、該当する「コントロールクラスの概要」が、表示されます。ここには、コントロールクラスの全てのメンバーが、網羅されています。
しかし、これらを上から下まで、熟読する必要はありません。ざっと見るとか、必要な項目に絞って、参考にすれば良いと思います。
こちらの場合は、「Form のデザイン」上で、調べたいコントロール(インスタンス)を、クリックします。
そうすると、「プロパティグリッド(PropertyGrid コントロール)」上に、主な各プロパティと各イベントが表示されます。
余談ですが、プロパティグリッドには、「Attribute クラス」によって、表示されないメンバーもあります。ですから、全てが、表示されている分けではありません。
そして、その各プロパティ等をクリックしてから、「F1」を押下すると、該当する「メンバーの説明」が、詳細に表示されます。
特に、重要なものに関しては、秀逸な「サンプルコード」が掲載されているので、それをそのまま「コピー」して、使うこともできます。
この場合は、定番はありません。「コントロールクラス」の概要から、「メソッド」の部分を大まかに勉強するしかありません。詳細に勉強する必要はありません。
詳細に勉強したところで、身に付くものではないので(汗)。
ですから、何らかの「書籍」や「リファレンス」や「ネット検索」で、大まかに勉強するしかないと思います。
やはり、何らかの「書籍」を、一冊~二冊持っていると、それを「基本」として発展できると思います。
そして、特に重要なのが、「先頭に On」の付くメソッドです。例えば、「OnClick」というようなメソッドです。これ等は、「イベント」と密接に関係しています。
非常に重要な項目なので、是非、マスターする必要があります。
単純に、マニュアルを参照しているだけでは、中々これ等の事を、実感として分らないと思います。ですから、その辺りは、「書籍」に頼るしかないかも知れません。
ヘルプビュアーを起動すると、左下のタブに、「コンテンツ(C)」という項目があります。
これは、「ヘルプ ビューアー ホーム」となっています。全ての「有益なドキュメント」と「チュートリアル」が、参照できるように成っています。
非常に、膨大な量のコンテンツが、参照できるように成っています。ですから、分らないことは、ここで多くのことを学習できると思います。
まぁしかし、中々、読み熟すのも大変だと思います。ですから、最終的な拠り所の根拠として、確保して置きましょう。
こちらは、左下のタブに、「インデックス(I)」という項目があります。
アルファベット順に検索できるので、完全には覚えていないメンバーでも、関連するドキュメントが連続で表示されるので、便利です。
ただし、膨大な量があるので、如何に絞り込むかが「効率」につながるでしょう。
こちらは、色んなドキュメントが表示されている時に、ドキュメント上で「右クリック」をすると、コンテキストメニューが表示されるので、その中の「お気に入りに追加」で、追加されます。
中々、膨大なヘルプドキュメントなので、「お気に入り」を活用すると、再度見たい時に「時間の節約」が出来ます。
こちらは、「検索文字列」に関連するドキュメントが表示されるので、より付加価値の追求が出来るかも知れません。
自分が思ってもいない事が、発見できるかも知れません。
まぁこれは、内容とは関係ないのですが、「新しいタブで開く」を活用すると、より便利に活用できますね。
最近は、「AIブーム」なんですが、色々質問すると、本当に人間が解答しているかのように、丁寧で適切な解答をしてくれるので、驚いています。
自分で検索すると、膨大な時間が掛かると思いますが、「AI」だと瞬時に要約してくれるので、助かります。
ただし、「AI」は、飽くまでも標準的な「模範解答」なので、それが全てではありません。
ですから、「AI」を上手に活用して、自分の「スキルの向上」に役立てるのが、一番良いですね。
重要なことは、「未来の心配」ではありません。今日、自分にできる事を頑張りましょう。「明日は、明日の風が吹く」のですから。
基本の Form 形態です。
それでは、「基本の Form 形態」を、3パターン紹介します。ただし、これ等は、飽くまでも「当サイトの基本形」であって、「C#」の基本形ではありません。
ですから、幾らでも、自分の好みの「基本形」に、改良してください。特に、「右利き」と「左利き」では、左右が反転すると思います。
その辺りも、自分が最も使い易い「基本形」に、改良してください。何故なら、自分で使うのですから。
こちらは、実際には使うことが無いかも知れませんが、最もシンプルで「ちょっと何かをテストしたい」時に、非常に便利な「基本形」です。
勿論、ある程度のボリュームがある、実際に使おうと思う「アプリケーション」を、作る場合の「基本形」です(笑)。
特に重要なのが、「SplitContainer コントロール」です。画面を二つに分割することが出来るので、プログラム開発においては、必須のコントロールです。
通常は、二分割で使うのが普通ですが、IDEのように三分割にすることも出来ます。
三分割にする場合は、何方かのペイン(Panel1 又は Panel2)に、もう一つ「SplitContainer コントロール」を追加して、その領域を分割します。
ただし、三分割以上は、UIや制御が難しく(複雑に)なるので、サンデープログラマーには、お勧めしません。
ただ単純に、何かをテストする場合は、「Form」に直接「コントロール」を貼って、テストするのが普通です。
「Form」というのは、本当に多彩なことができる「コンテナ」なので、色んなことがテストできます。その使い方は果てしないです。恐らく、想像も出来ないことが出来るでしょう。
それでは、「基本の Form」を示します。フォームの名前は、何でも良いのですが、「BaseForm」にしています。

これは、前回の「FileDialog コントロールを、習得しましょう。」という記事に、「MenuStrip コントロール」を追加したものです。
本来、やはり「MenuStrip コントロール」は、必須のコントロールなので、外すことは出来ません。使うか使わないかは別にして。
「MenuStrip コントロール」「SplitContainer コントロール」の設定の仕方は、過去の記事に詳しく書いています。是非、熟読してください。


今回の「基本の Form 形態」は、前回の記事より、少しだけ違う所があります。それは、簡単な事なんですが、自力で設定して見ましょう。
- 「SplitContainer コントロール」の「Panel2」の幅が、「380px」になるように、「.SplitterDistance」を設定しています。
「Panel2」の幅というのは、厳密には、「SplitContainer.Panel2.ClientSize.Width」のことをいいます。この値をデバッグとして、何処かに表示すると、分かります。
ヒントは、「ToString()」です。因みに、「ToString()」は、最も重要なメソッドです(笑)。
- 「StatusStrip コントロール」の「toolStripStatusLabel」は、「6個」あります。そして、一番左側のものは、「Spring = True」です。
その他のものは、「AutoSize = False」で、幅は、「150px ~ 160px」です。厳密に、行う必要はありません。自分の好みでどうぞ。
それから、遅まきながら忘れていましたが、これらの「基本の Form 形態」は、デスクトップパソコン(1920 × 1080)における「基本」なので、
ノートパソコンの場合は、それなりに調整してください。
今回は、デザイナーによる設定を行っていますが、「正確な値」や「動的な値」を設定する場合は、「初期設定」等のコードから、行った方が確実です。
こちらは、上記の「BaseForm」に、「ToolStrip コントロール」を、追加しただけのものです。
しかし、実は、「ToolStrip コントロール」というのは、目立たないのですが、有れば非常に便利なんですね。何故なら、「1クリック」で、処理が行えるからです。
「MenuStrip コントロール」の場合は、少なくとも「2クリック以上」掛かります。
ですから、余裕がある場合には、「ToolStrip コントロール」を含めましょう。
それでは、「基本の ToolForm」を示します。フォームの名前は、何でも良いのですが、「BaseToolForm」にしています。

これは、「ToolStrip コントロール」を、追加しただけのものですが、追加する順番があります。「SplitContainer コントロール」よりも、前に追加する必要があります。
順番は、以下の通りです(コントロールを省略)。
- MenuStrip
- StatusStrip
- ToolStrip
- SplitContainer
「ToolStrip コントロール」の設定の仕方は、「MenuStrip コントロール」と、全く同じです。「標準項目の挿入」というのがあるので、それをクリックするだけです。
本来なら、これだけで良いのですが、実は、使用されている「Icon(アイコン)」が、定番ではありますが少々古いので、変更することが出来ます。
「Visual Studio 2022 Image Library.zip」というのが、マイクロソフト社の公式サイトにあるので、そこからダウンロードすることが出来ます。
公式サイトは、検索サイトで調べてください。キーワードは、「Visual Studio イメージライブラリ」です。
「Download ボタン」を押すと、「Visual Studio 2013 用 ~ Visual Studio 2022用まで」、色々と選択する事ができますが、上記の物で大丈夫だと思います。
ダウンロードした「Zip ファイル」は、何処かに「解凍」して使います。Windows 10 以降は、「Zip ファイル」を扱えるので、普通に解凍できます。
アイコンの変更方法は、「ToolStrip コントロール」の「Items(プロパティグリッド)」から、変更することができます。
これは、非常にスマートなので、「大きさ」や「間隔」まで変更することが出来ます。
これ等の作業は、結構大変なんですが、一度作ってしまえば、後は「コピー&ペースト」で、色々な「Form(フォーム)」に落とすことが出来ます。
ですから、時間に余裕がある場合は、頑張ってみる価値はあると思います。
実は、「ToolStrip コントロール」には、「ToolStripPanel コントロール」というコンテナがあって、この二つが相互に関係しています。
「ToolStripPanel」(上下左右)内に、「ToolStrip」を入れると、プログラムコードを書かなくても、上下左右のパネルに、移動することができます。
これは非常に便利な機能なんですが、それはそれで難しい部分もあるので、初心者の方には、お勧めしません。
目標が出来て、スキルが上がってからでも、遅くはありません。
それと、「StatusStrip コントロール」の六番目にある、「ペインを閉じる」を、「ToolStrip コントロール」の「toolStripButton」に、置き換えることも出来ます。
こちらは、上記の「BaseForm」に、「TabControl コントロール」を、追加したものです。
そして、この形式が、一番使い易いと思います。沢山の項目を、設定することが出来るので、結構「夢」があると思います(笑)。
つまり、使うか使わないかは別にして、色んなことが出来る「余裕」を設けています。
ただし、「TabControl コントロール」というのは、最も重要なコントロールの一つなので、次回に、色んな使い方を説明したいと思います。
今回は、ただ単純に、「TabControl コントロール」を、追加するだけにして置きます。
それでは、「基本の ToolForm」を示します。フォームの名前は、何でも良いのですが、「BaseTabForm」にしています。

これは、「Panel2」に、「TabControl コントロール」を追加したものです。そして、「タブページ」を一つ増やしています(笑)。
たったそれだけ何ですが、使い勝手は、格段に広がります。
以前の記事の「FileDialog コントロールを、習得しましょう。」のアプリケーションを、この「タブ形式」に移し変えると、色んなことができます。
ただし、あの機能の全体は、本来、「MenuStrip コントロール」に入れるべき項目なので、スキルが上がれば、何れ「MenuStrip の各 Item」に、納まることになります。
尚更に、「BaseToolForm」に、「TabControl コントロール」を入れると、「最強」になります(笑)。「パワー」がある人は、挑戦して見ましょう。
以上が、「基本の Form 形態」の3パターンです。これ等の3パターンの「Form(フォーム)」を、一つのプロジェクトに、全てを入れることも出来ますが、初心者の方には、難しいと思います。
ですから、各「基本の Form 形態」毎に、プロジェクトを作成します。例えば、「BaseForm プロジェクト」、「BaseToolForm プロジェクト 」、「BaseTabForm プロジェクト」等を、作成します。
そして、其々に、付加価値を付けて行きます。そしてそれらは、当サイトの目的では無いので、自分で自由に発展して下さい。
まとめ。
如何でしたでしょうか?。今回の「基本の Form 形態」については、当サイトの「オススメ記事」を、只管、愚直に行っていれば、簡単に作れます。
また、改良も、自由自在に行えます。実は、この辺りの「基本」が、一番重要になります。
しかし、まだ、「プログラミング」については、本格的には説明していません。何故なら、先ずは、手探りで行きましょう。「習うより慣れよ」です。
それでは、この辺でごきげんよう。(^_^)/


コメント