Visual studio 入門

1,766 views
1,665 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,766
On SlideShare
0
From Embeds
0
Number of Embeds
187
Actions
Shares
0
Downloads
2
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Visual studio 入門

  1. 1. Visual Studio入門森理 麟(moririring)
  2. 2. 自己紹介   森理 麟(@moririring)● 職業 : ゲームプログラマ● HP : 森理 麟(moririring)のHP● ブログ : 森理 麟(moririring)のプログラマブログ● VSハッカソン倶楽部代表、EffectiveC++読書会 運営、MetroStyleDeveloperスタッフ、 TDDBCTA、わんくま同盟スタッフ● MicrosoftMVP for C#
  3. 3. 質問について海外のイベントに参加して、参加者と発表者の質問のやりとりが非常に洗練されていると思った。わからない場合は参加者がバンバン質問して、発表者はドンドンそれに答えていく。うまく出来るか分からないけれど、簡単なルールなので、どんな小さいことでも、疑問を持ったら質問してください。
  4. 4. 今日の環境と目的説明に使用する言語はC#、アプリケーションはWindowsFormVisual Studioや.NET Frameworkのバージョン、言語仕様や環境に依存する話は極力なし初めての人が、兎に角Visual Studioをさわってアプリを作ってみたくなることが目標。
  5. 5. アジェンタ● とりあえずアプリを作る● アプリを効果的に見なおす● アプリをもっと効果的に見なおす
  6. 6. とりあえずアプリを作るI make the application.
  7. 7. それでは細かいことは後にして、早速、簡単なアプリを作ってみます。
  8. 8. 作るアプリファイルを選択して中身がテキストなら表示するアプリ
  9. 9. DEMO1ライブコーディングで作っていきます。private void button1_Click(object sender, EventArgs e){ openFileDialog1.ShowDialog();}private void openFileDialog1_FileOk(object sender, CancelEventArgs e){ textBox1.Text = openFileDialog1.FileName; StreamReader sr = new StreamReader(openFileDialog1.FileName); textBox2.Text = sr.ReadToEnd();}
  10. 10. 修正とりあえずアプリは完成しました。それでは、1つずつ見なおしていきましょう。
  11. 11. アプリを効果的に見なおすEffective check for the application
  12. 12. こだわり #1 ボタン他のウィンドウが開くボタンは、表示に三点リーダーを使う。幅は自動に任せると楽。【 表示 】○ : 「...」←ドット三点× : 「…」←三点リーダー【 パラメータ 】AutoSize = True;AutoSizeMode = GrowAndShrink;
  13. 13. こだわり #2 一行テキストボックス読み取り専用の場合、テキストボックスに限りReadOnlyを使う。普通はEnabled。【 パラメータ 】○ : ReadOnly = false;× : Enabled = false;
  14. 14. こだわり #3 ファイル選択ダイアログファイル選択ダイアログは選択させるファイルの種類が決まっていれば必ずそれを設定しておく。【 パラメータ 】Filter = "txtファイル|*.txt";
  15. 15. こだわり #4 複数行テキストボックス複数行テキストボックスはスクロールバーを両方につける。Bothの場合自動切り返しに注意する。【 パラメータ 】ReadOnly = false;ScrollBars = Both;WordWrap = false;
  16. 16. こだわり #5 ファイルロード全テキスト読み込みは専用関数があるので、そちらを使った方が楽。エラー処理までやってくれる。【 パラメータ 】○ : File.ReadAllText× : StreamReader
  17. 17. こだわり #6 レイアウトなるべく吸着して補助線が出る所に置く。デザインセンスに自信がないならルールを決めると良い。【色】● ピンク フォントの位置をあわせ● ブルー コントロールの位置をあわせ● グレー 他のコントロールとの再近
  18. 18. こだわり #7 フォームフォームが可変だとレイアウト的におかしく見えるので、固定に。その際、最大化も忘れずにオフ。【 パラメータ 】FormBorderStyle = FixedSingle;MaxmizeBox = false;
  19. 19. レイアウトへのこだわりを教えてくれた人
  20. 20. 完成最初に作った時よりも、見た目も良く、エラーが出にくいアプリになりました。
  21. 21. アプリをもっと効果的に見なおすMore Effective check for the application
  22. 22. こだわり #8 一行テキストボックス2ファイルを選択する方法で手書きにも対応させる。これで処理がまとめられる。ロード処理中はボタンを無効にすると良い。【 パラメータ 】ReadOnly = false【 メソッド 】private void textBox1_TextChanged(object sender, EventArgs e){ if (File.Exists(textBox1.Text)) { button1.Enabled = false; textBox2.Text = File.ReadAllText(textBox1.Text); button1.Enabled = true; }}
  23. 23. こだわり #9 ドラッグアンドドロップテキストボックスへのドラッグ&ドロップにも対応させる。【 パラメータ 】AllDrop = true【 メソッド 】DragEnterDragDrop
  24. 24. こだわり #9 ドラッグアンドドロップ【ソース】private void textBox1_DragEnter(object sender, DragEventArgs e){ e.Effect = DragDropEffects.Copy;}private void textBox1_DragDrop(object sender, DragEventArgs e){ if (e.Data.GetDataPresent(DataFormats.FileDrop)) { string[] fileName = (string[])e.Data.GetData(DataFormats.FileDrop); if (File.Exists(fileName[0]) == true) { textBox1.Text =fileName[0]; } }}
  25. 25. こだわり #9 ドラッグアンドドロップstring dropFileName = "";private void textBox1_DragEnter(object sender, DragEventArgs e){ e.Effect = DragDropEffects.None; if (e.Data.GetDataPresent(DataFormats.FileDrop)) { var fileName = (string[])e.Data.GetData(DataFormats.FileDrop); if (File.Exists(fileName[0]) == true) { dropFileName = fileName[0]; e.Effect = DragDropEffects.All; } }}private void textBox1_DragDrop(object sender, DragEventArgs e){ textBox1.Text = dropFileName;}
  26. 26. こだわり #10 ファイル選択2テキストファイルはtxtだけと限らない。すべてを選べるように。エラー対策はどちらにしろ必要。【 パラメータ 】Filter = "txtファイル|*.txt|すべてのファイル|*.*";
  27. 27. こだわり #11 ボタン2ボタンを押した場合、テキストボックスにパスがあるならば、そのパスでダイアログは開いて欲しい。【 メソッド 】private void button1_Click(object sender, EventArgs e){ if (File.Exists(textBox1.Text)) { openFileDialog1.InitialDirectory = Path.GetDirectoryName(textBox1.Text); openFileDialog1.FileName = Path.GetFileName(textBox1.Text); } openFileDialog1.ShowDialog();}
  28. 28. こだわり #12 レイアウト2サイズと位置を可変にしたいコントロールは、Anchorと組み合わせて使う。【コントロール】Anchor:コントロールが固定されるコンテナーの端を定義します。コントロールがいずれかの端に固定されるとその端と、その端に最も近いコントロールの端の間は、一定の距離を保ちます
  29. 29. こだわり #13 フォーム2テキストボックスが可変になったらフォームも可変に。見た目も変更可能に。タイトルもつける。【 パラメータ 】FormBorderStyle = Sizable;MaxmizeBox = true;○ : SizeGripStyle=Show;× : SizeGripStyle=Auto;Text = "Visual Studio入門アプリ";
  30. 30. こだわり #14 アイコン画竜点睛を欠いては台無しです。アイコンを作りましょう。icoファイル作成はIcoFXがオススメです。【 パラメータ 】リソースのアイコンフォームのicon
  31. 31. まとめこれで完成です。
  32. 32. 総評今日は合計で14個のこだわりを説明しました。最後にアプリを作る際にとても重要で好きな言葉です。「神は細部に宿る」みなさんも自分のこだわりを見つけて下さい。
  33. 33. 謝辞ご清聴有難うございます。

×