困ったー

WIN10・アプリ・ゲームで困ったことを調べてみた

「こまったー」は困ったことを調べたブログです。

ARK |  7 Days To Die |  フォートナイト |  マイクラ |   

スポンサーリンク


【Visual Studio 2019】C#でフォームアプリケーションの始め方

Visual Studio 2019ではC#を使ったプログラム開発が可能です。C#は、VBやC言語とはまた違った感じのプログラム言語といった感じです。慣れると使いやすいと思います。

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#」で作りましょう。

f:id:apicode:20191007083236p:plain



 

名前は適当につけます。

f:id:apicode:20191007083245p:plain


 

プロジェクトが作成されるとこんな感じ。

f:id:apicode:20191007083308p:plain


  

ボタンを作る

まずはボタンを配置して、ボタンを置くとアクションするというシンプルなフォームアプリケーションを作ってみましょう。

 

ツールボックス

左端にある「ツールボックス」にはいろんな部品が用意されています。

「ボタン」「画像」「グリッド」などのパーツがあります。

まずは「Button(ボタン)」を選択します。

f:id:apicode:20191007083805p:plain

 

ウィンドウ上でドラッグして配置することができます。

f:id:apicode:20191007083819p:plain

 

ツールボックスの種類についてはこちらを参照ください。

【C#】ツールボックス 一覧 - 困ったー


 

プロパティ

フォーム上でボタンが選択状態にあるとき、右側にはプロパティが表示されます。

ここからボタン上の文字、色、サイズ、種類などは、プロパティ一覧から変更することができます。

f:id:apicode:20190904160903p:plain

 

例えばTextを変更すると...

f:id:apicode:20190905093811p:plain

 

ボタン上の文字が変更されました。

f:id:apicode:20190905093815p:plain

 

コードを記述

今度はプログラムを書いてみましょう。

フォーム上のボタンをダブルクリックすると、コード入力画面へ移動できます。

 

今回は「ボタンをクリックすると、ダイアログが開いて文字を表示する」プログラムを書きます。

そのためのコマンドが「MessageBox」というオブジェクトですでに用意されています。

 

private void Button1_Click(object sender, EventArgs e){
MessageBox.Show("test");
}

 

...のように書きます。

なお、先ほどのフォーム画面へ切り替えるには、「Form1.cs[デザイン]」というタブを選びましょう。

f:id:apicode:20191007083858p:plain


 

コードの実行

ではプログラムを実際に動かしてみましょう。

動作するには「開始」ボタンを押します。

f:id:apicode:20190904161141p:plain

 

アプリが動いたら、ボタンを押してみます。

無事「test」という文字が表示できればOKです。f:id:apicode:20190702102543p:plain

 

テストをやめるにはフォームウィンドウをxアイコンで閉じるか、下のほうにある停止ボタン(■)を押します。

f:id:apicode:20190904161325p:plain

 

イベントを記述する

クリックの場合やダブルクリックの場合、あるいはキーを押した場合や離した場合、テキストの文字が変更された場合...など、ユーザの操作などによって実行されるのがイベントです。

 

Visual StudioのC#では、フォーム上でパーツが選択された状態で「プロパティ」のパネルのところで「イベント」ボタンを押すとイベントの種類一覧が表示されます。

稲妻アイコンのところです。

f:id:apicode:20190905094331p:plain

 

プログラムを追加したいイベントを選んでダブルクリックします。

するとエディタが開き、そのイベントに対応したプログラムがすぐかけるようになっています。

f:id:apicode:20190905094333p:plain


 

テキストボックス

文字を表示させるポピュラーな方法の一つがテキストボックスです。

ツールボックスから「TextBox」を選び、フォーム上にドラッグして配置します。

f:id:apicode:20190904162644p:plain

 

すると横には広がるのですが縦には広がりません。不便です。

f:id:apicode:20190904162646p:plain

 

実は「Multiline(複数行)」の初期設定が「False」になっているためです。

ここを「True」にしてから再度サイズを変更すると...

f:id:apicode:20190904162648p:plain

 

ちゃんと縦にものびるようになりました。

f:id:apicode:20190904162754p:plain

 

ボタンを押すとテキストボックスに文字を入れるようにするには、

private void Button1_Click(object sender, EventArgs e)
{
textBox1.Text = "やった!";
}

とします。

後はコードを実行し、ボタンを押したら「やった!」という文字列が出てくればOKです。

f:id:apicode:20190904163016p:plain

 

 

アプリを終了させる

ボタンを押したり、メニューから終了を選ぶとアプリが終わるようにするには「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#で表・テーブルを使うには? - 困ったー

 

ゲーム作り

ゲーム作りにも挑戦してみましょう。

【C#でゲーム作り】基礎編:サウンドを鳴らす - 困ったー

【C#でゲーム作り】実践編(1):占いゲーム作りで肩慣らし - 困ったー

【C#でゲーム作り】実践編(2):じゃんけんゲーム作り - 困ったー

【C#でゲーム作り】実践編(3):ノベルゲームのような文字表示 - 困ったー

 

 

その他

メニュー

フォームにメニューを追加できます。

【Visual Studio 2019】メニューを追加するには?ショートカットキーをつけるには? - 困ったー

 

ファイル操作

C#では「iniファイルを用いて起動時などに初期設定を読み込ませる」といったことや、「CSVなどの外部ファイルからデータを読み込む」といったことも可能です。

【Visual Studio 2019】C#で文字やファイルを扱うには? - 困ったー

 

 

画像や動画を扱う

C#からは、画像を表示したり、音を鳴らしたり、動画を再生したり、USBカメラの画像を入力するといったこともできます。

【Visual Studio 2019】C#で画像やサウンドを扱うには? - 困ったー

 

【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#で「名前つけルール違反」や「オブジェクトの初期化を簡略化」をなくすには? - 困ったー

 

 

 

[C#関連記事]

  1. 【Visual Studio 2019】C#の始め方 - 困ったー
  2. 【Visual Studio 2019】C#のエラーと対策 - 困ったー
  3. 【C#】ツールボックス 一覧 - 困ったー
  4. 【Visual Studio】C#でフォームの使い方 フル画面?半透明?バーを消す?
  5. 【VisualStudio】C#のボタンとは?使い方は?
  6. 【VisualStudio】C#のパネルとは?使い方は?
  7. 【Visual Studio】C#で表・テーブルを使うには?
  8. 【Visual Studio】C#でスクレイピング
  9. 【Visual Studio】C#で文字やファイルを扱うには? - 困ったー
  10. 【Visual Studio】C#で画像やサウンドを扱うには? - 困ったー
  11. 【Visual Studio】C#で動画を制御するには?ビデオ入力表示は?
  12. 【Visual Studio】C#でインターネット関数の使い方 - 困ったー
  13. 【Visual Studio】C#で顔認識や日本語解析のサンプル - 困ったー
  14. 【Visual Studio】C#からMySqlの使い方 接続するには?SQL文を実行するには?

 

[Visual Studio 2019関連記事]

  1. Visual Studio 2019 無料で使うには?ダウンロードするには?
  2. インストーラ作成のまとめ アイコンは?.NET Frameworkを含めるには?
  3. Visual Source Codeとは?Visual Studio 2019との違いは?

このブログは、ネットや書籍上の情報、個人の体験や感想を中心にまとめたものです。 正確性を期していはいますが、間違い・誤訳等あるかもしれません。 当サイトの情報によって生じたいかなる損失について一切の責任を負わないものとします. あらかじめご了承ください。

利用規約・プライバシーポリシー |〇問い合わせ