プログラム初心者勉強会　8回目　-C# Windowsフォーム入門

#目次
[1. 前回リンク](#1-前回リンク)
[2. 次回リンク](#2-次回リンク)
[3. やったこと](#3-やったこと)
[4. 配信時の録画](#4-配信時の録画)
[5. 今回学んだこと](#5-今回学んだこと)
[6. メインメニューの作成方法](#6-メインメニューの作成方法)
[7. コンテキストメニューの作成方法](#7-コンテキストメニューの作成方法)
[8. ツールバーの作成方法](#8-ツールバーの作成方法)
[9. 各ボタンのショートカットキーやアクセラレートキーについて](#9-各ボタンのショートカットキーやアクセラレートキーについて)
[10. 振り返り](#10-振り返り)
[11. 次回予告](#11-次回予告)

#1. 前回リンク
https://qiita.com/Usyuuu-program-beginner/items/570f850fd4dbfae4b68d

#2. 次回リンク
https://qiita.com/Usyuuu-program-beginner/items/2a25123f0059bf6dd1f6

#3. やったこと
下のサイトの 11. メニュー (従来版)を学習

http://kaitei.net/csforms/

#4. 配信時の録画
https://www.youtube.com/watch?v=D_5CRm7cD0E

#5. 今回学んだこと
メニューの作成方法が分かってよかった。今回娘がぐずって早めに終わっちゃったので、次は勉強頑張らなきゃだね

#6. メインメニューの作成方法
メインメニューもツールボックスを作成するためのコントロールが用意されています。
#6.1 メインメニューの追加方法

　1. 「MenuStrip」をデザイン画面にDrag＆Dropする
![メインメニュー作成1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2130837/aa949fac-da3e-928b-2e45-710cf3524e9b.png)

　2.　MenuStripのプロパティ内「items」の編集画面を開く
　![メインメニュー作成2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2130837/a34c803a-bff9-8b9b-44ea-c8651baef93a.png)

　3.　 メニューのエディター窓を開いたら、「追加(A)」（画像の③）を押し、メニュー項目を増やす。
　
　4.　 各メニューの名前は、画像④のプロパティメニュー「Text」から編集する。メニュー名の変数名は「デザイン->(Name)」を編集する
　![メインメニュー作成3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2130837/37332e0b-8d5f-7ad9-582e-b13b1df83291.png)

　5.　上の画像④のプロパティ「DropDownItems」から、各メニューにぶら下がるDropDownメニューの編集窓を開く。ここでメニューの追加も名前の編集も可能。
　![メインメニュー作成4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2130837/4bd6cfb0-253a-9614-d519-895191d6a28e.png)

こんな感じでメニューの編集が可能となります。

#6.2 メニュのイベント追加方法
6.1章で追加したメニューの内「閉じる(X)」ボタンの編集を行います。

　1.　「閉じる(X)」をダブルクリックし、「閉じる(X)」ボタンのイベントハンドラ関数を作成する
　2.　イベントハンドラ関数内に「this.Close()」を書き込む
　3.　デバック起動し、「閉じる(X)」ボタンを押してアプリが終了することを確認する

```C#:　「閉じる(X)」ボタンのイベントハンドラ関数
private void toolStripMenuItem2_Click(object sender, EventArgs e)
{
	this.Close();
}
```
　
こんな感じで各メニューボタンのイベントを登録します。

#7. コンテキストメニューの作成方法
#7.1　コンテキストメニューの追加方法
　1.　「ContextMenuStrip」をデザイン画面にDrag＆Dropする。
　2.　2以降はメインメニューと同じ手順で編集すればOK。
　3.　<font color="Red">ここ重要！</font> Windowsフォーム画面のプロパティ項目「ContextMenuStrip」に、作成した「ContextMenuStrip」を登録する。
　　　<font color="Red">これしないと右クリックしてもメニューが表示されない！</font> 
　

![コンテキストメニュー作成1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2130837/cf1febfc-3190-258e-a6c7-27677226def3.png)

#8. ツールバーの作成方法
#8.1 ツールバーの追加方法
　1.　「ToolStrip」をデザイン画面にDrag＆Dropする。
　2.　「Button」メニューを選択する。するとアイコンメニューが作成される
　3.　作成されたアイコンメニューをダブルクリックすれば、クリックイベントハンドラが作成される。ほかのイベント作成したいならプロパティメニュの稲妻マークから作成可能
　4.　その後はメインメニュー等と同じ

![ツールメニュー作成1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2130837/91a7f9ef-2c2d-7f49-5065-b68a6542c549.png)

#8.2　ツールバーのメニューアイコンを編集
プロパティから変更可能。
「image」からローカルファイルを選択すれば画像変更可能。
サイズは「ImageScaling」で”None”にすれば画像のサイズそのまま、”SizeToFit”なら小さく表示されます。


#9. 各ボタンのショートカットキーやアクセラレートキーについて
下のページに色々書いてた。
各メニューボタンの名前横に(&"アルファベット")と書くことで、ショートカットキーやアクセラレートキーを付与することが出来る。

https://dianxnao.com/cs%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E9%A0%85%E7%9B%AE%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B/

#10. 振り返り
やっぱり後半になるにしたがって実業務に近いことが学べるようになったね！

#11. 次回予告
次回はメニューバーやオーナードロー？ってのを学ぶよ。
第7回は11月28日(日）の夜8時から以下チャンネルで行います！

##ニコニコ配信先
https://com.nicovideo.jp/community/co3601066

##Twitch配信先
https://www.twitch.tv/programing_study_meeting

##Discordリンク
https://discord.gg/7rcqhMGpvA