Visual Studio 2019ではC#を使ったプログラム開発が可能です。C#は、VBやC言語とはまた違った感じのプログラム言語といった感じです。慣れると使いやすいと思います。
C#とは?
C#(シーシャープ)は、プログラム言語です。
Cとありますが、C言語自体とは違います。
VBもCもわかるしなんとかなるっしょ、...と思いきやかなり「書き方の癖がすごいんじゃ」って感じもしないでもないです。
例えば
「public string Name { get; set; }」
なんて書き方があり、「ゲットセットってなんじゃー」って感じになってしまいます。
一方で
「public int result { get; private set; }」
なんて書きか他も可能。
どうやら参照可能(get)、設定可能(set)、設定はプライベート(private set)という感じでアクセス権を簡単に書ける仕組みのようです。
慣れると使いやすそうですが、最初は「ぎょえー」って感じで忍耐が必要かもしれません。
とはいえ、ネット上にサンプルが多いため調べやすのがありがたいです。プログラミングの練習として試してみてもいいと思います。
C#の始め方 基本編
VisualStudioのインストールをするときに、あらかじめC#でのプログラム開発環境もインストールしておきましょう。
プロジェクトの作成
今回は.NET frameworkを使ったフォームアプリケーションを作ってみましょう。
フォームアプリケーションとは、ウィンドウのひな型がすでにあり、ボタンやテキストフィールドなどを画面上に配置して作るタイプのアプリです。
操作するためのインタフェースがすぐつくれるので、開発時間をより短時間にしてくれるので初心者の方にもおすすめのアプリ形式です。
まずはプロジェクトの作成を実行。「Windowsフォームアプリケーション」を「C#」で作りましょう。
名前は適当につけます。
プロジェクトが作成されるとこんな感じ。
ボタンを作る
まずはボタンを配置して、ボタンを置くとアクションするというシンプルなフォームアプリケーションを作ってみましょう。
ツールボックス
左端にある「ツールボックス」にはいろんな部品が用意されています。
「ボタン」「画像」「グリッド」などのパーツがあります。
まずは「Button(ボタン)」を選択します。
ウィンドウ上でドラッグして配置することができます。
ツールボックスの種類についてはこちらを参照ください。
プロパティ
フォーム上でボタンが選択状態にあるとき、右側にはプロパティが表示されます。
ここからボタン上の文字、色、サイズ、種類などは、プロパティ一覧から変更することができます。
例えばTextを変更すると...
ボタン上の文字が変更されました。
コードを記述
今度はプログラムを書いてみましょう。
フォーム上のボタンをダブルクリックすると、コード入力画面へ移動できます。
今回は「ボタンをクリックすると、ダイアログが開いて文字を表示する」プログラムを書きます。
そのためのコマンドが「MessageBox」というオブジェクトですでに用意されています。
private void Button1_Click(object sender, EventArgs e){
MessageBox.Show("test");
}
...のように書きます。
なお、先ほどのフォーム画面へ切り替えるには、「Form1.cs[デザイン]」というタブを選びましょう。
コードの実行
ではプログラムを実際に動かしてみましょう。
動作するには「開始」ボタンを押します。
アプリが動いたら、ボタンを押してみます。
無事「test」という文字が表示できればOKです。
テストをやめるにはフォームウィンドウをxアイコンで閉じるか、下のほうにある停止ボタン(■)を押します。
イベントを記述する
クリックの場合やダブルクリックの場合、あるいはキーを押した場合や離した場合、テキストの文字が変更された場合...など、ユーザの操作などによって実行されるのがイベントです。
Visual StudioのC#では、フォーム上でパーツが選択された状態で「プロパティ」のパネルのところで「イベント」ボタンを押すとイベントの種類一覧が表示されます。
稲妻アイコンのところです。
プログラムを追加したいイベントを選んでダブルクリックします。
するとエディタが開き、そのイベントに対応したプログラムがすぐかけるようになっています。
テキストボックス
文字を表示させるポピュラーな方法の一つがテキストボックスです。
ツールボックスから「TextBox」を選び、フォーム上にドラッグして配置します。
すると横には広がるのですが縦には広がりません。不便です。
実は「Multiline(複数行)」の初期設定が「False」になっているためです。
ここを「True」にしてから再度サイズを変更すると...
ちゃんと縦にものびるようになりました。
ボタンを押すとテキストボックスに文字を入れるようにするには、
private void Button1_Click(object sender, EventArgs e)
{
textBox1.Text = "やった!";
}
とします。
後はコードを実行し、ボタンを押したら「やった!」という文字列が出てくればOKです。
アプリを終了させる
ボタンを押したり、メニューから終了を選ぶとアプリが終わるようにするには「Application.Exit();」というコマンドを使います。
アプリケーションというオブジェクト(Application)で終了させるメソッド(Exit)を実行させるわけです。
private void Button1_Click(object sender, EventArgs e)
{
Application.Exit();
}
...のように書いて、コードを実行してボタンを押すと無事フォームが閉じて終わることを確認してみましょう。
C#の始め方 応用編
ツールボックス
ツールボックスを活用すると、GUIのあるプログラムを簡単に作ることができます。
ツールボックス一覧
【VisualStudio 2019】C#のツールボックス 一覧 - アプリの教科書
フォームの設定
【Visual Studio】C#でフォームの使い方 フル画面?半透明?バーを消す? - アプリの教科書
ボタンの設定
【VisualStudio 2019】C#のボタンとは?使い方は? - アプリの教科書
パネルの設定
【VisualStudio 2019】C#のパネルとは?使い方は? - アプリの教科書
ラジオボタンやプルダウンの設定
【Visual Studio 2019】C#でラジオボタン・プルダウン・チェックボックス?ウェブ送信するには? - アプリの教科書
イメージリスト
【Visual Studio 2019】C#でImageListを使ってボタンのアイコン管理 - アプリの教科書
ファイル操作
【Visual Studio 2019】C#でファイルを扱うには?利用するツールボックスは? - アプリの教科書
表やテーブル
【Visual Studio】C#で表・テーブルを使うには? - アプリの教科書
画像の表示
【Visual Studio 2019】C#でPictureBoxの使い方 - アプリの教科書
その他
メニュー
フォームにメニューを追加できます。
【Visual Studio 2019】メニューを追加するには?ショートカットキーをつけるには? - アプリの教科書
ファイル操作
C#では「iniファイルを用いて起動時などに初期設定を読み込ませる」といったことや、「CSVなどの外部ファイルからデータを読み込む」といったことも可能です。
【Visual Studio 2019】C#で文字を扱うには?利用するツールボックスは? - アプリの教科書
インターネットを使う
インターネットを活用するアプリもC#を使うことで書くことができます。
業務用ソフトなら専用クライアントからネットの操作をさせるほうが安全でスピーディです。
ネットにつながっているか調べる、ネット上のファイルをダウンロードするなど、ネットの活用については以下参照ください。
【Visual Studio 2019】C#でインターネット関数の使い方 - アプリの教科書
ネットのページを読み込んで解析することもできます。
【Visual Studio 2019】C#でスクレイピング - アプリの教科書
データベースを使う
データベースサーバとして人気のあるMySQLとC#を組み合わせると、必要なデータをサーバから簡単に呼び出すことができます。
データベースの部分をMySQLにさせることで、C#によるプログラム開発が一気に楽になるケースもあるでしょう。
【Visual Studio】C#からMySqlの使い方 接続するには?SQL文を実行するには? - アプリの教科書
人工知能
顔認識や日本語解析といった処理にも対応しています。
【Visual Studio 2019】C#で顔認識や日本語解析のサンプル - アプリの教科書
エクセルと連携
エクセルファイルを直セル読み込んだり書き込むといった処理も可能です。
【Visual Studio 2019】C#でエクセルを簡単に扱う~セルの取得・セルの上書き保存 - アプリの教科書
インストーラを作る
作ったプログラムは、ネットで配布するにせよ、クライアントに納品するにせよ、インストールするためのプログラムを使ってインストーラーを作成する必要があります。
インストーラーづくりは、セットアップにドットネットフレームワークのランタイムセットアップを組み込んだり、アイコンを設定するなど、結構面倒な手間があります。
【Visual Studio 2019】インストーラ作成のまとめ アイコンは?.NET Frameworkを含めるには? - アプリの教科書
エラー処理
【Visual Studio 2019】C#のエラーと対策 - アプリの教科書
【Visual Studio 2019】C#で「名前つけルール違反」や「オブジェクトの初期化を簡略化」をなくすには? - アプリの教科書