スポンサーリンク
※サイト運営にサーバーは必須です※
~このサイトもエックスサーバーを使用しています~
目次
はじめに
この記事は、Visual Studio初心者向け講座の一環で書かれた記事である。サイコロの代わりになる乱数生成ソフトが作れるようになる。
目次へ:Visual Studioでソフトを作ってみよう(初心者向け)
Formの追加の手順
「プロジェクト」の「Windowsフォームの追加」を押す。
Windowsフォームで名前を適当に決める(ここではBase1.cs)
Formの継承をする狙い
複数のフォームにまたがるWindowsソフトを作るときは、基礎となるフォームを一つ作っておくと何かと便利である。
※一つのフォームで収まるソフトの場合は、そこまで恩恵がない。だが、後で複数のフォームにしたい場合とか想定すると作っておいて損はない気がする。
Form継承の手順
Form1においてBase1クラスを継承することを考える。
「ソリューションエクスプローラー」で「Form1.cs」をダブルクリックする。
左上に表示される「Form1」をダブルクリックする。
public partial class Form1 : Form
を
public partial class Form1 : Base1
と書き換える。
親となるFormの編集
今の状況では、
親:Base1
子:Form1
となっている。
ここで親(Base1)に対していくつかコードを加える。
(最終的には以下のように書く)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Dices { public partial class Base1 : Form { public Base1() { InitializeComponent(); } private void Base1_Load(object sender, EventArgs e) { this.Text = "Dices";//フォームの名前を統一 SetSelectAll(this);//Ctrl+Aが機能するため用 } //Ctrl+Aが機能するため用 private void SetSelectAll(Control target) { foreach (Control control in target.Controls) { if (control.HasChildren) { // 子コントロールがある場合は再帰的に処理 SetSelectAll(control); } // TextBox以外は何もしない if (control is TextBox == false) { continue; } // Ctrl-Aが押されたときに全選択させるハンドラを追加 control.KeyDown += (sender, e) => { if (e.Control && e.KeyCode == Keys.A) { (sender as TextBox).SelectAll(); } }; } } } } |
22行目、
this.Text = “Dices”;//フォームの名前を統一
はフォームの左上の名前を「Form1」から「Dices」にすることに対応する。
このフォームを引き継げば、コードを実行(Ctrl+F5)した時、左上が「Dices」になる。
これにより、複数のフォームに対して、左上の部分を共通化させることができる。
それ以降のコードは、Ctrl+Aでテキストが全選択されるようにするためのおまじない。
コードは、以下のサイト(外部記事)で紹介されているものをそのまま拝借した。
→Form上の全TextBoxに対し、Ctrl-Aで全選択できるようにする方法
関連記事
目次へ:Visual Studioでソフトを作ってみよう(初心者向け)
次の記事へ:Visual Studioでラベルやボタンの配置をする
前の記事へ:Visual Studioで新しくファイルを作る方法
~Webサイトを自分で作ってみませんか?~
Webサイトを運営するにはサーバーが必須です。
このサイトは、エックスサーバー のサーバーを使用しています。
エックスサーバーは無料で10日間お試しができます。
コメント