まず最初はC#を書く環境を作りましょう。
無料のVisualStudioをインストールすれば簡単にC#を書く環境が作れます。
C#プログラミングの種類はWindowsフォーム,WPF,UWP,Xamarinなどがありますが,最初はWindowsフォームが一番わかりやすいのでそこからやっていきましょう。
慣れてきたらXamarinを使ってスマホアプリの開発もできるようになります。
今回はその基礎になるので早速やっていきましょう!
VisualStudioのインストール
VisualStudioのインストールはこちらから行ってください
※既にVisualStudioをインストール済の方はそちらを使用していただいて問題ありません。本書では初歩的な文法のみを取り上げますので,VisualStudioは2008以降のものであれば問題ありません。本書ではVisualStudio 2017 Communityを使用します。
プロジェクトの作成
VisualStudioをインストールしたら起動してみましょう。
こんな感じの初期起動画面になると思います。
「ファイル」「新規作成」「プロジェクト」を選択します。
「Windowsクラシックデスクトップ」
「Windowsフォームアプリケーション(.NET Framework)」を選択し,
場所には任意のパスを指定します。
プロジェクト名とソリューション名は今回は変更せずに「OK」をクリックします。
こんな画面が出てくると思います。
これはWindowsフォームを作成する画面のプログラムになります。
今回はこの画面に対してプログラミングを行いながら,勉強をしていきたいと思います。
画面起動と基本的な設定
「ソリューションエクスプローラー」の「Form1.cs」を右クリックして,「コードの表示」を選択します。
「ソリューションエクスプローラー」が表示されていない場合はツールメニューの「表示」よりソリューションエクスプローラーを選択して表示してください。
次のようなプログラムコードが表示されると思います。
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 WindowsFormsApp1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } } }
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;
上のほうにあるこれらの部分は現時点では気にする必要はありません。
プログラムコードを書く範囲は次のclass Form1の中カッコの範囲内という事になります。
public partial class Form1 : Form { public Form1() { InitializeComponent(); } }
public Form1(){}の部分はコンストラクタという部分で,このクラスが生成されるときに,一番初めに動作する部分になります。
クラスとは変数と関数のひとかたまりの型の事ですが,現時点ではプログラムの一つのかたまりと思っておいてください。
class Form1 と最初に書かれている通り,このクラスはForm1というクラスで,
コロン:の後にFormと記述されていることにより,「.NetFramework」の画面のクラスを継承しているという意味になります。
このため,このクラスは最初に表示されていたグレーの画面が表示されるプログラムになっています。
難しいことはさておき,要するにこのForm1クラスは画面を表示できる
クラスというプログラムになっています。
このクラスに処理を書くことで,自由に画面の動作をプログラミングできるようになります。
画面の起動
それではこのプログラムを実行してみましょう。
画面上部のツールバーから「開始」を選択して実行しましょう。
するとこんな画面が表示されます。
タイトルがForm1になっています。
そのほか右側に最小化,最大化,閉じるボタンの3つの機能がついています。
これは特に何もしなくても表示されます。
消したい場合は消せますが,今回はこのままにしておきます。
「×」ボタンで一度画面を閉じましょう。するとプログラムが停止します。
タイトルの変更
それではタイトルの「Form1」の部分を違う言葉に変えてみましょう。
デザイン画面でプロパティの「Text」の入力エリアに「プロパティで変更」と入力してみましょう。
この状態で実行してみましょう。
画面のタイトルが変更されているのがわかります。
それではまた「×」で閉じましょう。
今度はコード画面より「コードで変更」と入力してみましょう。
デザイン画面で右クリックメニューから「コードの表示」を選んで次のコードを書きましょう。
public partial class Form1 : Form { public Form1() { InitializeComponent(); this.Text = "コードで変更"; } }
太字の部分が追加コードです。
「this」は自分自身を表しています。この場合は画面です。
「Text」は画面のタイトルの部分の値になります。
イコールでつないでダブルコーテーションで囲んで,文字を設定しています。
文字を表すときは必ずダブルコーテーションで囲みます。
イコールを書くと,右の値を左の項目に設定するという意味になります。
こういったイコールで値を入れることを代入といいます。
最後はコードの最終を表すセミコロン「;」を書きます。
C#では複数行に改行するコーディングが行えるので,コードの最後を示す「;」セミコロンが必要です。
あと,C#では大文字と小文字を区別しているため,正確にコーディングする必要があります。
これでタイトルに「コードで変更」という文字が表示されます。
試しに実行してみましょう。
コードの位置を変えてみましょう。
public partial class Form1 : Form { public Form1() { this.Text = "コードで変更"; InitializeComponent(); } }
InitializeComponent()の前に移動しました。
この状態で実行してみましょう。
「プロパティで変更」と出ました。
何が起きているのでしょうか?
「プロパティで変更」はデザイン画面のプロパティウィンドウで変更しました。
この変更はInitializeComponent()の中で実行されているという事になります。
画面のプロパティはInitializeComponent()で実行されるため,これより前にコード上で変更しても,
上書きされてしまうので注意してください。
コード上で行う画面プロパティの変更はInitializeComponent()の後に
コーティングするようにしましょう。