今日から始める
C#入門
Write by 森理 麟
Myself
森理 麟(@moririring)
職業:ゲームプログラマ
HP : moririringのHP
Microsoft MVP for C#
2
My
Community
VSハッカソン倶楽部 +Visual
Studio勉強会
C++テンプレート完全ガイド読
書会
Unityクリエイターズ
IT英語勉強会
ぼちぼちぼっち開発
3
事前説明
4
C#は言語として簡単でおスス
メです。
 C#言語仕様Version5.0より
5
Why?
さらにC#の開発環境Visual
Studio (VS)が世界最強です
6
Why?
VSはグラフィカルユーザーイ
ンターフェース (GUI)を楽しく
作れます。
7
Why?
今日はC#とVSを使った、GUI
の「使い方」 と「作り方」の
を説明します。
8
Why?
話を聞いて是非何か作ってみ
てください。たぶん習得への
一番の早道です。
9
VSはExpress版を使えば無料。
無料でもかなりの機能が普通
に使える!
10
HPからダウンロード可能。
特に理由がないなら最新バー
ジョンを
 (VS2013はWin7以降のOS必須)
MicrosoftVisual Studio Express
2013 forWindows Desktop
11
VSにおいて古いバージョンを
使うメリットはありません
12
C#は新しいバージョンに上げ
ても古いものが動くようにと
ても気を付けています。
13
ライブラリの.NET Framework
は下位バージョンに下げるこ
とも可能
14
VS2013で作ったslnファイル
は、VS2012でもVS2010でも開
けます。
15
つまり新しいバージョンのVS
でも古い事もできますし、何
より新しい機能が使えます!
16
ポイント
C#とVSはGUIを楽しく作れ
る!
VSはExpressが無料で使える!
VSは最新バージョン(今なら
2013)を使おう!
17
フォーム作成
18
では早速VSを起動してみま
しょう!
19
「新しいプロジェクト」を選
択 (Ctrl+Shift+NでもOK)
20
Windows フォーム アプリケー
ションを選んで下さい。
21
フォームは形や形式を表す英
単語で、Windowsではウィン
ドウのこと
22
F5を押します。
23
ノーコーディングでフォーム
が完成しました。実際やって
みましょう。
24
F5はデバッグ開始。エラーが
詳細に分かってとても便利!
25
フォームにはボタンやチェッ
クボックスなどコントロール
を置くことができます。
26
ツールボックスからドラッグ&
ドロップで好きな場所に置く
だけ!
27
コントロールはドラッグでサ
イズを変えたり、コピペで増
やしたりも出来ます。
28
htmlで書いたフォームと比較
しても、GUIの作りやすさは歴
然だと思います
29
ポイント
新規作成しただけでフォーム
が出来る!
フォームには様々なコント
ロールを置くことが出来る!
F5でデバッグ実行すればエ
ラーが分かりやすい!
コントロールはGUIでサイズを
変えたりコピペも出来る!
30
テキストエディタ
作成
31
さらにテキストエディタを作
りましょう
32
ツールボックスからテキスト
ボックスをドラッグします
33
F5を押します。これで一行テ
キストボックスは完成です。
34
各プロパティを変更すること
でさらに詳細な設定が可能
35
値をクリックすれば自動で下
に説明が表示されます。
36
テキストを複数行にわたるこ
とができるようにします。
37
幅と高さを広げます。数字を
打っても、ドラッグでもOK!
38
F5を押せばテキストエディタ
が完成です。
39
複数行テキストボックスにス
クロールバーを付けましょ
う。
40
Bothは自動切り返しに注意。
41
F5を押せばスクロールバーが
つきました。
42
このようにプロパティの変更
だけでカスタマイズできます。
43
プロパティの変更は内部的に
はプログラムの書き換えです
44
そうしましょ
う
では実際にプロパティの変更
をプログラミングしてみま
しょう。
45
そうしましょ
う
プロパティの変更をプログラ
ムで書くとこうなります。で
は実際書いてみましょう。
 textBox1.Multiline = true;
 textBox1.ScrollBars = ScrollBars.Both;
...
フォームで右クリックして
コードを選んでください。
Ctrl+Alt+0でも可。
47
VS2012から地味に開かなくて
もプレビューが見られます。
48
この状態でプログラムしてい
くと打つ度に候補の名前が表
示されます。
49
インテリセンスというVSの最
強の機能の一つです。
50
打ち間違えても、リアルタイ
ムにエラー情報が出ます。
51
さらにF7でビルドすれば、全
エラーをチェックです(F5は
ビルドの後デバッグ開始 )
52
エラーをこれだけ分かりやす
く教えてくれるのもVSの魅力
の一つです。
53
ポイント
プロパティの変更だけで色々
UIの設定を変えられる!
インテリセンスで一文字打つ
ごとに名前が表示される!
リアルタイムやビルドでエ
ラーチェック!
54
テキストエディタ
機能追加
55
次はボタンを押された時など
何かアクションに対してのプ
ログラミングを書いてみます
56
VSではそういうアクションに
対して簡単に処理が書けま
す。これをイベントと呼びま
す。
57
では試しにボタンを押したら
メッセージを表示するプログ
ラムを書いてみます。
58
イベントを呼ぶ時は先に名前
を付けた方が吉です。
59
ボタンを配置、イベントをク
リック、Clickイベントを選ん
でダブルクリック
60
自動で作られたイベントに以
下のプログラムを書いてみま
しょう。
private void button_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello,World!");...
VS2013からの新機能。自動閉じ
デリミタ。地味に便利!
MessageBox.Show(←(を書くと
MessageBox.Show()自動的に)
MessageBox.Show(") ←”を書く
と
MessageBox.Sho...
さらに凄いのが”や)を打って
も書きません。これが秀逸。
MessageBox.Show("") ←再度”
を打っても書かない
MessageBox.Show("") ←再度)
を打っても書かない
63
コードスニペットという機能
でmbox+Tab2回でも追加
64
ではF5を押して実行してみま
しょう。
65
他にも色々なイベントがある
のでプロパティの説明を見な
がらチェック!
66
最も使用頻度の高いイベント
は、コントロール自体をダブ
ルクリックだけでOKです。
67
MessgeBoxは表示だけでなく
エラーチェックにも使えるか
なり汎用的なメソッドです。
68
メソッドとは頻繁に使われる
機能をまとめて、呼べるよう
にしたもの。
69
どのメソッドを呼ぶとどんな
処理をしてくれるかもインテ
リセンスが教えてくれます。
70
オーバーロードと言って引数
が違うメソッドもあります。
これもインテリセンスで
71
さらにテキストエディタに好
きなファイルをロード出来る
機能を追加します。
72
オープンファイルダイアログ
コントロールを追加します。
73
ボタンクリックイベントに以
下のメソッドを書きます。
private void button_Click(object
sender, EventArgs e)
{
openFileDialog1.ShowDialog();
}
74
ファイルダイアログイベント
に以下のメソッドを書きます。
private void openFileDialog1_FileOk(object sender,
CancelEventArgs e)
{
textBox1.Text =
Syst...
これで好きなファイルをロー
ド出来る機能が追加されまし
た。
76
ポイント
アクションに対しての処理は
イベントを選ぶ
メソッドとは頻繁に使う機能
をまとめて、呼べるようにし
たもの。
メソッドの意味や引数もイン
テリセンスが教えてくれる!
77
テキストエディタ
さらに作り込み!
78
ではテキストエディタをもっ
と便利にしていきます。
79
フォームに合わせて広がるよう
にします。方法は2つあって、
DockとAnchor。今日はAcnhorで。
【プロパティ】
Dock = Fill;
Anchor=Top,Bottom,Left,Right;
80
他のウィンドウが開くボタン
は、表示に三点リーダーを使
う。

【 表示 】
○ : 「...」←ドット三点
× : 「…」←三点リーダー
81
ボタンはテキストに合わせて
自動調整。ついでにAnchorも
【 パラメータ 】
AutoSize =True;
AutoSizeMode = GrowAndShrink;
Anchor=Top, Right;
82
レイアウト的にもロードした
ファイル名をテキストボック
スに表示しましょう。
 textBox2.Text =
openFileDialog1.FileName;
83
ドラッグ&ドロップに対応
private void textBox2_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Copy;
}
private...
読み取り専用の場合、テキス
トボックスに限りReadOnlyを
使う。普通はEnabled。

【 パラメータ 】
○ : ReadOnly = false;
× : Enabled = false;
85
ファイル選択ダイアログは選
択させるファイルの種類が決
まっていればそれを設定。

【 パラメータ 】
Filter = "txtファイル|*.txt";
86
テキストエディタにするなら
TextboxよりもRichTextbox。
ScrollBarが必要ないときは表
示しない
Ctrl + Aがきく
強調や斜体にも対応はしてい
る。
87
最初よりも、完成度の高いテ
キストボックスになったと思
います。
88
最後にC#を使うメリットにつ
いて説明して終わりたいと思
います。
89
C#
Visual Studioという最高の開発環
境が整っている
早いバージョンアップでトレン
ドの新しい機能を実装し、過去
の機能も損なわない。
CやC++と比較して難しい概念や
使いにくい仕様をなくし、シン
プルで分かりやすい
実...
C#
WindowsならGUIアプリ
ASP.NETでWebもOK
.NET MicroFrameworkで組み込
みも
XamarinでAndroid,iOSにも対応
MonoでMac,Linuxでも動作。
PlayStation...
C#
作った人が神
92
告知
4月12日(土)
2Dゲームアイデアソン
4月19日(土)
2Dゲームハッカソン
UnityとPlaygroudを使ったハッカ
ソンです。どちらもVSとC#が使
えます!
93
ご清聴ありがとうございまし
た
94
Upcoming SlideShare
Loading in …5
×

今日から始めるC#入門

3,971
-1

Published on

Published in: Technology
0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,971
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
21
Comments
0
Likes
9
Embeds 0
No embeds

No notes for slide

今日から始めるC#入門

  1. 1. 今日から始める C#入門 Write by 森理 麟
  2. 2. Myself 森理 麟(@moririring) 職業:ゲームプログラマ HP : moririringのHP Microsoft MVP for C# 2
  3. 3. My Community VSハッカソン倶楽部 +Visual Studio勉強会 C++テンプレート完全ガイド読 書会 Unityクリエイターズ IT英語勉強会 ぼちぼちぼっち開発 3
  4. 4. 事前説明 4
  5. 5. C#は言語として簡単でおスス メです。  C#言語仕様Version5.0より 5
  6. 6. Why? さらにC#の開発環境Visual Studio (VS)が世界最強です 6
  7. 7. Why? VSはグラフィカルユーザーイ ンターフェース (GUI)を楽しく 作れます。 7
  8. 8. Why? 今日はC#とVSを使った、GUI の「使い方」 と「作り方」の を説明します。 8
  9. 9. Why? 話を聞いて是非何か作ってみ てください。たぶん習得への 一番の早道です。 9
  10. 10. VSはExpress版を使えば無料。 無料でもかなりの機能が普通 に使える! 10
  11. 11. HPからダウンロード可能。 特に理由がないなら最新バー ジョンを  (VS2013はWin7以降のOS必須) MicrosoftVisual Studio Express 2013 forWindows Desktop 11
  12. 12. VSにおいて古いバージョンを 使うメリットはありません 12
  13. 13. C#は新しいバージョンに上げ ても古いものが動くようにと ても気を付けています。 13
  14. 14. ライブラリの.NET Framework は下位バージョンに下げるこ とも可能 14
  15. 15. VS2013で作ったslnファイル は、VS2012でもVS2010でも開 けます。 15
  16. 16. つまり新しいバージョンのVS でも古い事もできますし、何 より新しい機能が使えます! 16
  17. 17. ポイント C#とVSはGUIを楽しく作れ る! VSはExpressが無料で使える! VSは最新バージョン(今なら 2013)を使おう! 17
  18. 18. フォーム作成 18
  19. 19. では早速VSを起動してみま しょう! 19
  20. 20. 「新しいプロジェクト」を選 択 (Ctrl+Shift+NでもOK) 20
  21. 21. Windows フォーム アプリケー ションを選んで下さい。 21
  22. 22. フォームは形や形式を表す英 単語で、Windowsではウィン ドウのこと 22
  23. 23. F5を押します。 23
  24. 24. ノーコーディングでフォーム が完成しました。実際やって みましょう。 24
  25. 25. F5はデバッグ開始。エラーが 詳細に分かってとても便利! 25
  26. 26. フォームにはボタンやチェッ クボックスなどコントロール を置くことができます。 26
  27. 27. ツールボックスからドラッグ& ドロップで好きな場所に置く だけ! 27
  28. 28. コントロールはドラッグでサ イズを変えたり、コピペで増 やしたりも出来ます。 28
  29. 29. htmlで書いたフォームと比較 しても、GUIの作りやすさは歴 然だと思います 29
  30. 30. ポイント 新規作成しただけでフォーム が出来る! フォームには様々なコント ロールを置くことが出来る! F5でデバッグ実行すればエ ラーが分かりやすい! コントロールはGUIでサイズを 変えたりコピペも出来る! 30
  31. 31. テキストエディタ 作成 31
  32. 32. さらにテキストエディタを作 りましょう 32
  33. 33. ツールボックスからテキスト ボックスをドラッグします 33
  34. 34. F5を押します。これで一行テ キストボックスは完成です。 34
  35. 35. 各プロパティを変更すること でさらに詳細な設定が可能 35
  36. 36. 値をクリックすれば自動で下 に説明が表示されます。 36
  37. 37. テキストを複数行にわたるこ とができるようにします。 37
  38. 38. 幅と高さを広げます。数字を 打っても、ドラッグでもOK! 38
  39. 39. F5を押せばテキストエディタ が完成です。 39
  40. 40. 複数行テキストボックスにス クロールバーを付けましょ う。 40
  41. 41. Bothは自動切り返しに注意。 41
  42. 42. F5を押せばスクロールバーが つきました。 42
  43. 43. このようにプロパティの変更 だけでカスタマイズできます。 43
  44. 44. プロパティの変更は内部的に はプログラムの書き換えです 44
  45. 45. そうしましょ う では実際にプロパティの変更 をプログラミングしてみま しょう。 45
  46. 46. そうしましょ う プロパティの変更をプログラ ムで書くとこうなります。で は実際書いてみましょう。  textBox1.Multiline = true;  textBox1.ScrollBars = ScrollBars.Both;  textBox1.WordWrap = false;  textBox1.Size = new Size(200,200); 46
  47. 47. フォームで右クリックして コードを選んでください。 Ctrl+Alt+0でも可。 47
  48. 48. VS2012から地味に開かなくて もプレビューが見られます。 48
  49. 49. この状態でプログラムしてい くと打つ度に候補の名前が表 示されます。 49
  50. 50. インテリセンスというVSの最 強の機能の一つです。 50
  51. 51. 打ち間違えても、リアルタイ ムにエラー情報が出ます。 51
  52. 52. さらにF7でビルドすれば、全 エラーをチェックです(F5は ビルドの後デバッグ開始 ) 52
  53. 53. エラーをこれだけ分かりやす く教えてくれるのもVSの魅力 の一つです。 53
  54. 54. ポイント プロパティの変更だけで色々 UIの設定を変えられる! インテリセンスで一文字打つ ごとに名前が表示される! リアルタイムやビルドでエ ラーチェック! 54
  55. 55. テキストエディタ 機能追加 55
  56. 56. 次はボタンを押された時など 何かアクションに対してのプ ログラミングを書いてみます 56
  57. 57. VSではそういうアクションに 対して簡単に処理が書けま す。これをイベントと呼びま す。 57
  58. 58. では試しにボタンを押したら メッセージを表示するプログ ラムを書いてみます。 58
  59. 59. イベントを呼ぶ時は先に名前 を付けた方が吉です。 59
  60. 60. ボタンを配置、イベントをク リック、Clickイベントを選ん でダブルクリック 60
  61. 61. 自動で作られたイベントに以 下のプログラムを書いてみま しょう。 private void button_Click(object sender, EventArgs e) { MessageBox.Show("Hello,World!"); } 61
  62. 62. VS2013からの新機能。自動閉じ デリミタ。地味に便利! MessageBox.Show(←(を書くと MessageBox.Show()自動的に) MessageBox.Show(") ←”を書く と MessageBox.Show("")自動的に” 62
  63. 63. さらに凄いのが”や)を打って も書きません。これが秀逸。 MessageBox.Show("") ←再度” を打っても書かない MessageBox.Show("") ←再度) を打っても書かない 63
  64. 64. コードスニペットという機能 でmbox+Tab2回でも追加 64
  65. 65. ではF5を押して実行してみま しょう。 65
  66. 66. 他にも色々なイベントがある のでプロパティの説明を見な がらチェック! 66
  67. 67. 最も使用頻度の高いイベント は、コントロール自体をダブ ルクリックだけでOKです。 67
  68. 68. MessgeBoxは表示だけでなく エラーチェックにも使えるか なり汎用的なメソッドです。 68
  69. 69. メソッドとは頻繁に使われる 機能をまとめて、呼べるよう にしたもの。 69
  70. 70. どのメソッドを呼ぶとどんな 処理をしてくれるかもインテ リセンスが教えてくれます。 70
  71. 71. オーバーロードと言って引数 が違うメソッドもあります。 これもインテリセンスで 71
  72. 72. さらにテキストエディタに好 きなファイルをロード出来る 機能を追加します。 72
  73. 73. オープンファイルダイアログ コントロールを追加します。 73
  74. 74. ボタンクリックイベントに以 下のメソッドを書きます。 private void button_Click(object sender, EventArgs e) { openFileDialog1.ShowDialog(); } 74
  75. 75. ファイルダイアログイベント に以下のメソッドを書きます。 private void openFileDialog1_FileOk(object sender, CancelEventArgs e) { textBox1.Text = System.IO.File.ReadAllText(openFileDialog1.FileNa me); } 75
  76. 76. これで好きなファイルをロー ド出来る機能が追加されまし た。 76
  77. 77. ポイント アクションに対しての処理は イベントを選ぶ メソッドとは頻繁に使う機能 をまとめて、呼べるようにし たもの。 メソッドの意味や引数もイン テリセンスが教えてくれる! 77
  78. 78. テキストエディタ さらに作り込み! 78
  79. 79. ではテキストエディタをもっ と便利にしていきます。 79
  80. 80. フォームに合わせて広がるよう にします。方法は2つあって、 DockとAnchor。今日はAcnhorで。 【プロパティ】 Dock = Fill; Anchor=Top,Bottom,Left,Right; 80
  81. 81. 他のウィンドウが開くボタン は、表示に三点リーダーを使 う。  【 表示 】 ○ : 「...」←ドット三点 × : 「…」←三点リーダー 81
  82. 82. ボタンはテキストに合わせて 自動調整。ついでにAnchorも 【 パラメータ 】 AutoSize =True; AutoSizeMode = GrowAndShrink; Anchor=Top, Right; 82
  83. 83. レイアウト的にもロードした ファイル名をテキストボック スに表示しましょう。  textBox2.Text = openFileDialog1.FileName; 83
  84. 84. ドラッグ&ドロップに対応 private void textBox2_DragEnter(object sender, DragEventArgs e) { e.Effect = DragDropEffects.Copy; } private void textBox2_DragDrop(object sender, DragEventArgs e) { string[] fileName = (string[])e.Data.GetData(DataFormats.FileDrop, false); textBox2.Text = fileName[0]; textBox1.Text = File.ReadAllText(textBox2.Text); } 84
  85. 85. 読み取り専用の場合、テキス トボックスに限りReadOnlyを 使う。普通はEnabled。  【 パラメータ 】 ○ : ReadOnly = false; × : Enabled = false; 85
  86. 86. ファイル選択ダイアログは選 択させるファイルの種類が決 まっていればそれを設定。  【 パラメータ 】 Filter = "txtファイル|*.txt"; 86
  87. 87. テキストエディタにするなら TextboxよりもRichTextbox。 ScrollBarが必要ないときは表 示しない Ctrl + Aがきく 強調や斜体にも対応はしてい る。 87
  88. 88. 最初よりも、完成度の高いテ キストボックスになったと思 います。 88
  89. 89. 最後にC#を使うメリットにつ いて説明して終わりたいと思 います。 89
  90. 90. C# Visual Studioという最高の開発環 境が整っている 早いバージョンアップでトレン ドの新しい機能を実装し、過去 の機能も損なわない。 CやC++と比較して難しい概念や 使いにくい仕様をなくし、シン プルで分かりやすい 実はISOで標準化されており使用 できる場所が多い 90
  91. 91. C# WindowsならGUIアプリ ASP.NETでWebもOK .NET MicroFrameworkで組み込 みも XamarinでAndroid,iOSにも対応 MonoでMac,Linuxでも動作。 PlayStation MobileやUnity、 Playgroundなどゲームでも! 91
  92. 92. C# 作った人が神 92
  93. 93. 告知 4月12日(土) 2Dゲームアイデアソン 4月19日(土) 2Dゲームハッカソン UnityとPlaygroudを使ったハッカ ソンです。どちらもVSとC#が使 えます! 93
  94. 94. ご清聴ありがとうございまし た 94
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×