現場ですぐに使える! Visual C# 2019逆引き大全 500の極意 (単行本)
Visual C#の開発現場で「今やりたいこと」をサッと手軽に調べたいなと思ったことはありませんか? 本書は、「現場ですぐに使える」をコンセプトに、Visual C# 2019の基礎から便利技まで幅広い内容を網羅した逆引きTips集です。2019版では、ASP.NET MVCの強化、.NET Coreの導入、MVVMパターンの利用テクニックなどを追加しました。基礎から現場ですぐに役立つ実用性の高いテクニックまで、500項目を逆引き形式で紹介します!
第1部 スタンダード・プログラミングの極意
第1章 Visual C# 2019の基礎
1-1Visual C# 2019の基本
001 Visual C#とは
002 Visual Studioとは
003 Visual Studio 2019をインストールする
004 .NET Frameworkとは
005 名前空間とは
006 Visual C# 2019プログラムの開発手順
007 ソリューション、プロジェクトとは
008 クラス、オブジェクトとは
009 プロパティとは
010 メソッドとは
011 イベントとは
012 IDE(統合開発環境)の画面構成
013 ツールウィンドウの表示/非表示を切り替える
014 ドキュメントウィンドウを並べて表示する
015 ドキュメントウィンドウの表示倍率を変更する
016 ドキュメントウィンドウを固定する
017 ドキュメントウィンドウにファイルを開く/プレビューする
018 効率よくコードを入力する
019 コードウィンドウを上下に分割する
020 スクロールバーを有効に使う
021 クイック起動を利用する
022 コード入力中に発生したエラーに対処する
023 プロジェクト実行中に発生したエラーに対処する
024 わからないことを調べる
第2章 プロジェクト作成の極意
2-1プロジェクト
025 プロジェクトを新規作成する
026 プロジェクトを保存する
027 プロジェクトを実行する
028 ソリューションとプロジェクトのファイル構成
029 プロジェクトを開く/閉じる
030 プログラム起動時に開くフォームを指定する
031 プログラム起動時に実行する処理を指定する
032 実行可能ファイルを作成する
033 プロジェクトを追加する
034 プロジェクトを印刷する
035 プロジェクトにリソースを追加する
036 名前空間の記述を省略する
第3章 ユーザーインターフェイスの極意
3-1ユーザーインターフェイス
〈フォーム〉
037 フォームのアイコンとタイトル文字を変更する
038 フォームのサイズを変更できないようにする
039 最大化、最小化ボタンを非表示にする
040 ヘルプボタンを表示する
041 フォームをモニターの大きさに合わせる
042 フォームをプロジェクトに追加する
043 フォームを表示する/閉じる
044 フォームの表示位置を指定する
045 フォームの大きさを変更する
046 デフォルトボタン/キャンセルボタンを設定する
047 フォームやコントロールの初期設定を行う
048 フォームを半透明にする
049 ほかのフォームのコントロールの値を参照する
〈テンプレート〉
050 ダイアログでクリックされたボタンを呼び出し元のフォームで取得する
051 情報ボックスを使う
〈ラベル〉
052スプラッシュウィンドウ(タイトル画面)を表示する 103
053 任意の位置に文字列を表示する
054 リンクラベルでWebページにリンクする
055 リンクラベルで別のフォームにリンクする
〈ボタン〉
056 ボタンを使う
〈テキストボックス〉
057 テキストボックスで文字の入力を取得する
058 テキストボックスに複数行入力できるようにする
059 パスワードを入力できるようにする
060 入力する文字の種類を指定する
061 テキストボックスを読み取り専用にする
062 入力できる文字数を制限する
063 テキストボックスに指定した形式でデータを入力する
〈チェックボックス〉
064 複数選択できる選択肢を設ける
〈ラジオボタン〉
065 1つだけ選択できる選択肢を設ける
066 ラジオボタンのリストをスクロールする
〈グループボックス〉
067 グループごとに1つだけ選択できるようにする
3-1ユーザーインターフェイス(ピクチャーボックス)
068 ピクチャーボックスに画像を表示/非表示にする
069 ピクチャーボックスに画像を重ねて表示する
〈リストボックス〉
070 リストボックスに項目を追加する(デザイン時)
071 リストボックスに項目を追加/削除する(実行時)
072 リストボックスに順番を指定して項目を追加する
073 リストボックスで項目を選択し、その項目を取得する
074 リストボックスで複数選択された項目を取得する
075 チェックボックス付きリストボックスを使う
〈コンボボックス〉
076 コンボボックスを使う
〈タブコントロール〉
077 クリックすると表示ページが切り替わるタブを使う
〈カレンダー〉
078 カレンダーを利用して日付を選択できるようにする
079 日付範囲を選択できるカレンダーを使う
〈タイマー〉
080 タイマーを使ってストップウォッチを作成する
〈メニュー〉
081 メニューバーを作成する
082 メニューコマンドを無効にする
083 メニューコマンドにチェックマークを付ける
084 メニューにショートカットキーを割り当てる
085 ショートカットメニューを付ける
〈ツールバー〉
086 ツールバーを作成する
〈ステータスバー〉
087 ステータスバーを作成する
〈ツールストリップコンテナー〉
088 ツールバーをドラッグでフォームの四辺に移動可能にする
〈プログレスバー〉
089 プログレスバーで進行状態を表示する
〈ツリービュー〉
090 階層構造を表示する
〈リストビュー〉
091 リストビューにファイル一覧を表示する
092 リストビューに画像一覧を表示する
〈リッチテキストボックス〉
093 リッチテキストボックスの編集を元に戻す
094 リッチテキストボックスのフォントと色を設定する
095 リッチテキストボックスの文字を検出する
096 リッチテキストボックスにファイルの内容を表示する
097 リッチテキストボックスの内容をファイルに保存する
〈スピンボタン〉
098 スピンボタンで数値を入力できるようにする
〈トラックバー〉
099 ドラッグで数値を変更できるようにする
〈パネル〉
100 パネル上のコントロールを順に参照する
〈Webブラウザー〉
101 フォームにWebページを表示する
3-2コントロール全般
102 コントロールの位置と大きさを変更不可にする
103 コントロールを非表示にする
104 コントロールの大きさを変更する
105 コントロールの表示位置を変更する
106 フォームのコントロールの大きさをフォームに合わせる
107 フォームの端からの距離を一定にする
108 フォームを領域のサイズが変更可能な状態で2分割する
109 フォームを表形式に分割してコントロールを整列させる
110 フォームのサイズに合わせてコントロールの配置を自動調整する
111 タスクバーの通知領域にアイコンを表示する
112 コントロールをポイントしたときにヒントテキストを表示する
113 Tabキーでフォーカスを移動しないようにする
114 フォーカスの移動順を設定する
115 実行時にコントロールを追加する
116 実行時に追加したコントロールにイベントハンドラーを作成する
3-3MDI
117 MDIフォームを作成する
118 メニューにMDI子フォームのリストを表示する
119 MDI子フォームを並べて表示する
120 アクティブなMDI子フォームを取得する
第4章 基本プログラミングの極意
4-1基礎
121 コードにコメントを入力する
122 C#のデータ型を使う
123 変数を使う
124 リテラル値のデータ型を指定する
125 値型と参照型を使う
126 定数を使う
127 列挙型を定義する
128 データ型を変換する
129 文字列から数値データに変換する
130 文字列の途中に改行やタブなどを挿入する
131 文字列をそのまま利用する
132 文字列に変数を含める
133 dynamic型を使う
134 null許容型を使う
135 タプルを使う
4-2演算
136 加減乗除などの計算をする
137 演算子を使って比較や論理演算を行う
138 複数の条件を判断する
139 オブジェクトが指定したデータ型にキャスト可能か調べる
140 null値を変換する
4-3日付と時刻
141 現在の日付と時刻を取得する
142 日付要素を取得する
143 時刻要素を取得する
144 曜日を取得する
145 一定期間前や後の日付/時刻を求める
146 2つの日時の間隔を求める
147 任意の時間間隔を作成する
148 任意の日付を作成する
149 日付文字列を日付データにする
150 日付データを日付文字列にする
4-4制御構造
151 条件を満たしている場合に処理を行う
152 式の結果に応じて処理を分岐する
153 条件に応じて値を返す
154 指定した回数だけ処理を繰り返す
155 条件が成立する間、処理を繰り返す
156 条件式の結果にかかわらず、一度は繰り返し処理を行う
157 コレクションまたは配列に対して処理を繰り返す
158 ループの途中で処理を先頭に戻す
4-5配列
159 配列を使う
160 配列の宣言時に値を代入する
161 配列の要素数を求める
162 配列の要素数を変更する
163 配列の配列(ジャグ配列)を利用する
164 配列の要素を並べ替える
165 配列をクリアする
166 配列をコピーする
4-6コレクション
167 サイズが動的に変化するリストを使う
168 リストを初期化する
169 リストに追加する
170 リストを削除する
171 リストをコピーする
172 キーと値がペアのコレクションを作成する
173 キーと値のペアを追加する
174 キーを指定して値を探す
175 キーの一覧を取得する
4-7メソッド
176 値渡しで値を受け取るメソッドを作成する
177 値を返すメソッドを作成する
178 値を返さないメソッドを作成する
179 参照渡しで値を受け取るメソッドを作成する(out)
180 参照渡しで値を受け取るメソッドを作成する(ref)
181 配列やコレクションの受け渡しをするメソッドを作成する
182 引数の数が可変のメソッドを作成する
183 名前が同じで引数のパターンが異なるメソッドを作成する
184 イベントハンドラーをラムダ式で置き換える
185 引数のあるラムダ式を使う
186 ラムダ式を再利用する
187 メソッド内の関数を定義する
4-8クラスの作成
188 クラスを作成(定義)する
189 クラスのコンストラクターを作成する
190 クラスのプロパティを定義する
191 クラスのメソッドを定義する
192 クラスのイベントを定義する
193 定義したイベントのイベントハンドラーを作成する
194 オブジェクト生成時にプロパティの値を代入する
195 クラスを継承する
196 基本クラスのメソッドやプロパティを派生クラスで再定義する
197 型情報を引数にできるクラスを作成する
198 クラスに固有のメソッドを作成する
4-9構造体
199 構造体を定義して使う
200 構造体配列を宣言して使う
201 構造体を受け取るメソッドを作成する
202 構造体を返すメソッドを作成する
第5章 非同期処理の極意
5-1非同期処理
203 タスクを作成する
204 タスクを作成して実行する
205 戻り値を持つタスクを作成する
206 タスクの完了を待つ
207 複数のタスクの実行を待つ
208 非同期メソッドを呼び出す
209 タスクの終了時に実行を継続する
210 スレッドを切り替えてUIを変更する
211 一定時間停止する
212 イベントが発生するまで停止する
213 タスクの実行をキャンセルする
第6章 リフレクションの極意
6-1リフレクション
214 クラス内のプロパティの一覧を取得する
215 クラス内の指定したプロパティを取得する
216 クラス内のメソッドの一覧を取得する
217 クラス内の指定したメソッドを取得する
218 リフレクションでプロパティに値を設定する
219 リフレクションでプロパティの値を取得する
220 リフレクションでメソッドを呼び出す
221 クラスに設定されている属性を取得する
222 プロパティに設定されている属性を取得する
223 メソッドに設定されている属性を取得する
224 プライベートフィールドの値を設定する
225 プライベートプロパティの値を設定する
226 プライベートメソッドを呼び出す
227 アセンブリを指定してインスタンスを生成する
第7章 文字列操作の極意
7-1文字列操作
228 文字コードを取得する
229 文字列の長さを求める
230 英小(大)文字を英大(小)文字に変換する
231 指定位置から指定文字数分の文字を取得する
232 文字列内に指定した文字列が存在するか調べる
233 文字列内から指定した文字列の位置を検索する
234 2つの文字列の大小を比較する
235 文字列内の指定文字を別の文字に置き換える
236 文字列が指定文字列で始まって(終わって)いるか調べる
237 文字列の前後のスペースを削除する
238 文字列内から指定位置の文字を削除する
239 文字列内に別の文字列を挿入する
240 文字列が指定した文字数になるまでスペースを入れる
241 文字列を指定した区切り文字で分割する
242 文字列配列の各要素を連結する
7-2正規表現
243 正規表現でマッチした文字列が存在するか調べる
244 正規表現でマッチした文字列を別の文字列に置き換える
245 正規表現で先頭や末尾の文字列を調べる
246 正規表現でマッチした複数の文字列を取得する
第8章 ファイル、フォルダー操作の極意
8-1ファイル、フォルダー操作
247 ファイル、フォルダーの存在を確認する
248 ファイル、フォルダーを削除する
249 ファイル、フォルダーを移動する
250 ファイルをコピーする
251 ファイル、フォルダーの作成日時を取得する
252 カレントフォルダーを取得/設定する
253 アセンブリのあるフォルダーを取得する
254 フォルダーを作成する
255 フォルダー内のすべてのフォルダーを取得する
256 フォルダー内のすべてのファイルを取得する
257 パスのファイル名/フォルダー名を取得する
258 ファイルの属性を取得する
259 ファイルの属性を設定する
260 ドキュメントフォルダーの場所を取得する
261 論理ドライブ名を取得する
262 ドライブの種類を調べる
8-2テキストファイル
263 テキストファイルを開く/閉じる
264 テキストファイルから1行ずつ読み込む
265 テキストファイルから1文字ずつ読み込む
266 テキストファイルの内容を一度に読み込む
267 ファイルの最後かどうかを調べる
268 テキストファイルを作成する
269 テキストファイルの末尾に書き込む
270 テキストファイルに書き込む
271 書き込みモードを指定してファイルを開く
272 バイナリデータをファイルに書き出す
273 構造体データをファイルに書き出す
第9章 コモンダイアログの極意
9-1コモンダイアログ
274 ファイルを開くダイアログボックスを表示する
275 名前を付けて保存するダイアログボックスを表示する
276 フォントを設定するダイアログボックスを表示する
277 色を設定するダイアログボックスを表示する
278 フォルダーを選択するダイアログボックスを表示する
第2部 アドバンスド・プログラミングの極意
第10章 データベース操作の極意
10-1データベース操作
279 Entity Data Modelを作成する
280 Entity Data Modelを更新する
281 実行時に接続先を変更する
282 テーブルにデータを追加する
283 テーブルのデータを更新する
284 テーブルのデータを削除する
285 テーブルのデータを参照する
286 テーブルのデータ数を取得する
10-2LINQ
287 データベースのデータを検索する
288 クエリ文でデータを検索する
289 メソッドチェーンでデータを検索する
290 データを並べ替えて取得する
291 指定した行番号のレコードを取得する
292 指定した列名の値を取得する
293 取得したデータ数を取得する
294 データの合計値を取得する
295 2つのテーブルを内部結合する
296 2つのテーブルを外部結合する
297 新しい検索結果を作成する
298 要素が含まれているかを調べる
299 最初の要素を取り出す
300 最後の要素を取り出す
301 最初に見つかった要素を返す
302 最後に見つかった要素を返す
303 要素を指定して削除する
304 SQL文を指定して実行する
10-3DataGridコントロール
305 DataGridにデータを表示する
306 DataGridに抽出したデータを表示する
307 DataGridを読み取り専用にする
308 DataGridに行を追加不可にする
309 DataGridに行を作成してデータを追加する
310 DataGridを1行ごとに色を変更する
311 DataGridの列幅を自動調節する
10-4トランザクション
312 トランザクションを開始/終了する
313 トランザクションを適用する
314 トランザクションを中止する
第11章 エラー処理の極意
11-1構造化例外処理
315 例外に対処する
316 すべての例外に対処する
317 例外発生の有無にかかわらず、必ず後処理を行う
318 例外のメッセージを取得する
319 配列のインデックスが範囲外の例外をとらえる
320 無効なメソッドの呼び出しの例外をとらえる
321 例外を呼び出し元で処理する
322 例外の種類を取得する
323 例外が発生した場所を取得する
324 例外を発生させる
325 新しい例外を定義する
11-2例外クラス
326 引数が無効の場合の例外をとらえる
327 引数の値が範囲外の場合の例外をとらえる
328 引数がnullの場合の例外をとらえる
329 IOエラーが発生した場合の例外をとらえる
330 ファイルが存在しない場合の例外をとらえる
331 フォルダーが存在しない場合の例外をとらえる
332 データベースに接続できない場合の例外をとらえる
第12章 デバッグの極意
12-1IDE
333 例外処理アシスタントを表示しないようにする
334 ブレークポイントを設定/解除する
335 指定の実行回数で中断する
336 指定の条件になったら中断する
337 実行中断時に変数の値を表示したままにする
338 実行中断時にローカル変数の値を一覧表示する
339 変数や式を登録して実行中断時に値を確認する
340 1行ずつステップ実行をする
341 イミディエイトウィンドウを使う
342 実行中断時にオブジェクトデータを視覚的に表示する
343 実行中断時にコードを編集する
344 実行中のプロセスにアタッチする
345 ビルド構成を変更する
346 コンパイルスイッチを設定する
347 プラグマでビルドしないコードを設定する
12-2Debugクラスの利用
348 デバッグ情報を出力する
349 デバッグ情報をインデントして出力する
350 条件によってデバッグ情報を出力する
351 デバッグ情報をファイルに出力する
352 出力先に自動的に書き込む
353 警告メッセージを出力する
354 条件によって警告メッセージを表示する
355 デバッグ情報をイベントログに出力する
12-3MSTest
356 単体テストプロジェクトを作成する
357 単体テストを追加する
358 数値を比較する
359 文字列を比較する
360 オブジェクトがnullかどうかをチェックする
361 例外処理をテストする
362 テストを実行する
363 テストをデバッグ実行する
364 テストの前処理を記述する
365 テストの後処理を記述する
第13章 グラフィックの極意
13-1グラフィック
366 直線を描画する
367 四角形を描画する
368 円を描画する
369 多角形を描画する
370 背景をグラデーションで描画する
371 画像を半透明にして描画する
372 画像をセピア色にして描画する
373 透過色を使って画像を描画する
374 画像を回転する
375 画像を反転する
376 画像を切り出す
377 画像を重ね合わせる
378 画像の大きさを変える
379 画像に文字を入れる
380 画像をファイルに保存する
381 ファイルから画像を読み込む
第14章 WPFの極意
14-1アプリケーション
382 WPFアプリケーションを作成する
383 WPFウィンドウの大きさを変える
384 ボタンを配置する
385 テキストを配置する
386 テキストボックスを配置する
387 パスワードを入力するテキストボックスを配置する
388 チェックボックスを配置する
389 ラジオボタンを配置する
390 コンボボックスを配置する
391 リストボックスを配置する
392 四角形を配置する
393 楕円を配置する
394 画像を配置する
395 ボタンに背景画像を設定する
14-2XAML
396 XAMLファイルを直接編集する
397 グリッド線で分割する
398 グリッドの比率を変える
399 グリッドの固定値を指定する
400 マージンを指定する
401 パディングを指定する
402 コントロールを複数行にまたがって配置する
403 キャンバスを利用して自由に配置する
404 キャンバス内で矩形を回転させる
405 キャンバス内で動的に位置を変更する
406 実行時にXAMLを編集する
14-3MVVM
407 MVVMを利用する
408 ViewModelクラスを作成する
409 プロパティイベントを作成する
410 ラベルにモデルを結び付ける
411 テキストボックスにモデルを結び付ける
412 リストボックスにモデルを結び付ける
413 DataGridにモデルを結び付ける
414 ListViewにモデルを結び付ける
415 ListViewの行をカスタマイズする
416 ボタンイベントをコマンドに結び付ける
417 階層構造のモデルに結び付ける
418 モデルにデータベースを結び付ける
第15章 ネットワークの極意
15-1DNSクラス
419 コンピューター名を取得する
420 コンピューターのIPアドレスを取得する
15-2ネットワーク
421 コンピューターにTCP/IPで接続する
422 コンピューターへTCP/IPでデータを送信する
423 コンピューターからTCP/IPでデータを受信する
424 TCP/IPを使うサーバーを作成する
15-3HTTPプロトコル
425 Webサーバーに接続する
426 クエリ文字列を使ってWebサーバーに接続する
427 Webサーバーからファイルをダウンロードする
428 Webサーバーにファイルをアップロードする
429 GETメソッドで送信する
430 POSTメソッドを使ってフォーム形式で送信する
431 POSTメソッドを使ってJSON形式で送信する
432 戻り値をXMLで処理する
433 戻り値をJSON形式で処理する
434 ヘッダにコンテンツタイプを設定する
435 ヘッダに追加の設定を行う
436 クッキーを有効にする
437 ユーザーエージェントを設定する
第16章 ASP.NETの極意
16-1MVC
438 新しいASP.NET MVCプロジェクトを作成する
439 ASP.NET MVCとは
440 新しいビューを追加する
441 新しいコントローラーを追加する
442 新しいモデルを追加する
443 タイトルを変更する
444 ViewDataコレクションを使って変更する
445 別のページに移る
446 データを引き継いで別のページに移る
447 ほかのフォルダーへリダイレクトする
16-2Razor構文
448 Viewでモデルを参照させる
449 名前空間を設定する
450 ViewにC#のコードを記述する
451 Viewで繰り返し処理を行う
452 Viewで条件分岐を行う
453 フォーム入力を記述する
454 テキスト入力を記述する
16-3データバインド
455 ASP.NET MVCからEntity Frameworkを扱う
456 Entity Frameworkのモデルを追加する
457 Entity Framework対応のコントローラーを作成する
458 項目をリストで表示する
4591つの項目を表示する
460 新しい項目を追加する
461 既存の項目を編集する
462 既存の項目を削除する
463 必須項目の検証を行う
464 数値の範囲の検証を行う
16-4Web API
465 Web APIとは
466 Web APIのプロジェクトを作成する
467 複数のデータを取得するWeb API を作る
468 IDを指定してデータを取得するWeb API を作る
469 値を更新するWeb APIを作成する
470 JSON形式で結果を返す
471 XML形式で結果を返す
472 JSON形式でデータを更新する
473 XML形式でデータを更新する
第17章 アプリケーション実行の極意
17-1アプリケーション制御
474 ほかのアプリケーションを起動する
475 ほかのアプリケーションの終了を待つ
476 アプリケーションの二重起動を防止する
17-2クリップボード
477 クリップボードにテキストデータを書き込む
478 クリップボードに画像データを書き込む
479 クリップボードのデータを読み取る
480 クリップボードの画像データを読み取る
17-3レジストリ
481 レジストリからデータを読み込む
482 レジストリへデータを書き出す
483 レジストリのデータを削除する
第18章 Excelの極意
18-1ワークシート
484 Excelを参照設定する
485 既存のファイルを開く
486 既存のシートから値を取り出す
487 既存のシートから表を取り出す
488 セルに値を書き込む
489 セルに色を付ける
490 セルに罫線を付ける
491 ファイルに保存する
492 シートの一覧を取得する
493 新しいシートを追加する
494 PDFファイルで保存する
495 指定したシートを印刷する
18-2Web API
496 指定URLの内容を取り込む
497 天気予報APIを利用する
498 指定地域の温度を取得する
499 新刊リストを取得する
500 書籍情報を取得する
コラム
Visual Studio 2019のシステム要件
サンプルプログラムのコードを確認する方法
コードエディター内で使用できる主なショートカットキー
サンプルプログラムのコードを実行する方法
複数のコントロールを整列させる
Visual Studio Code
.NET Coreの広がり
Web APIとJSON
WebAssemblyの活用
Xamarin.FormsとReact Native
Azure Functions
第1章 Visual C# 2019の基礎
1-1Visual C# 2019の基本
001 Visual C#とは
002 Visual Studioとは
003 Visual Studio 2019をインストールする
004 .NET Frameworkとは
005 名前空間とは
006 Visual C# 2019プログラムの開発手順
007 ソリューション、プロジェクトとは
008 クラス、オブジェクトとは
009 プロパティとは
010 メソッドとは
011 イベントとは
012 IDE(統合開発環境)の画面構成
013 ツールウィンドウの表示/非表示を切り替える
014 ドキュメントウィンドウを並べて表示する
015 ドキュメントウィンドウの表示倍率を変更する
016 ドキュメントウィンドウを固定する
017 ドキュメントウィンドウにファイルを開く/プレビューする
018 効率よくコードを入力する
019 コードウィンドウを上下に分割する
020 スクロールバーを有効に使う
021 クイック起動を利用する
022 コード入力中に発生したエラーに対処する
023 プロジェクト実行中に発生したエラーに対処する
024 わからないことを調べる
第2章 プロジェクト作成の極意
2-1プロジェクト
025 プロジェクトを新規作成する
026 プロジェクトを保存する
027 プロジェクトを実行する
028 ソリューションとプロジェクトのファイル構成
029 プロジェクトを開く/閉じる
030 プログラム起動時に開くフォームを指定する
031 プログラム起動時に実行する処理を指定する
032 実行可能ファイルを作成する
033 プロジェクトを追加する
034 プロジェクトを印刷する
035 プロジェクトにリソースを追加する
036 名前空間の記述を省略する
第3章 ユーザーインターフェイスの極意
3-1ユーザーインターフェイス
〈フォーム〉
037 フォームのアイコンとタイトル文字を変更する
038 フォームのサイズを変更できないようにする
039 最大化、最小化ボタンを非表示にする
040 ヘルプボタンを表示する
041 フォームをモニターの大きさに合わせる
042 フォームをプロジェクトに追加する
043 フォームを表示する/閉じる
044 フォームの表示位置を指定する
045 フォームの大きさを変更する
046 デフォルトボタン/キャンセルボタンを設定する
047 フォームやコントロールの初期設定を行う
048 フォームを半透明にする
049 ほかのフォームのコントロールの値を参照する
〈テンプレート〉
050 ダイアログでクリックされたボタンを呼び出し元のフォームで取得する
051 情報ボックスを使う
〈ラベル〉
052スプラッシュウィンドウ(タイトル画面)を表示する 103
053 任意の位置に文字列を表示する
054 リンクラベルでWebページにリンクする
055 リンクラベルで別のフォームにリンクする
〈ボタン〉
056 ボタンを使う
〈テキストボックス〉
057 テキストボックスで文字の入力を取得する
058 テキストボックスに複数行入力できるようにする
059 パスワードを入力できるようにする
060 入力する文字の種類を指定する
061 テキストボックスを読み取り専用にする
062 入力できる文字数を制限する
063 テキストボックスに指定した形式でデータを入力する
〈チェックボックス〉
064 複数選択できる選択肢を設ける
〈ラジオボタン〉
065 1つだけ選択できる選択肢を設ける
066 ラジオボタンのリストをスクロールする
〈グループボックス〉
067 グループごとに1つだけ選択できるようにする
3-1ユーザーインターフェイス(ピクチャーボックス)
068 ピクチャーボックスに画像を表示/非表示にする
069 ピクチャーボックスに画像を重ねて表示する
〈リストボックス〉
070 リストボックスに項目を追加する(デザイン時)
071 リストボックスに項目を追加/削除する(実行時)
072 リストボックスに順番を指定して項目を追加する
073 リストボックスで項目を選択し、その項目を取得する
074 リストボックスで複数選択された項目を取得する
075 チェックボックス付きリストボックスを使う
〈コンボボックス〉
076 コンボボックスを使う
〈タブコントロール〉
077 クリックすると表示ページが切り替わるタブを使う
〈カレンダー〉
078 カレンダーを利用して日付を選択できるようにする
079 日付範囲を選択できるカレンダーを使う
〈タイマー〉
080 タイマーを使ってストップウォッチを作成する
〈メニュー〉
081 メニューバーを作成する
082 メニューコマンドを無効にする
083 メニューコマンドにチェックマークを付ける
084 メニューにショートカットキーを割り当てる
085 ショートカットメニューを付ける
〈ツールバー〉
086 ツールバーを作成する
〈ステータスバー〉
087 ステータスバーを作成する
〈ツールストリップコンテナー〉
088 ツールバーをドラッグでフォームの四辺に移動可能にする
〈プログレスバー〉
089 プログレスバーで進行状態を表示する
〈ツリービュー〉
090 階層構造を表示する
〈リストビュー〉
091 リストビューにファイル一覧を表示する
092 リストビューに画像一覧を表示する
〈リッチテキストボックス〉
093 リッチテキストボックスの編集を元に戻す
094 リッチテキストボックスのフォントと色を設定する
095 リッチテキストボックスの文字を検出する
096 リッチテキストボックスにファイルの内容を表示する
097 リッチテキストボックスの内容をファイルに保存する
〈スピンボタン〉
098 スピンボタンで数値を入力できるようにする
〈トラックバー〉
099 ドラッグで数値を変更できるようにする
〈パネル〉
100 パネル上のコントロールを順に参照する
〈Webブラウザー〉
101 フォームにWebページを表示する
3-2コントロール全般
102 コントロールの位置と大きさを変更不可にする
103 コントロールを非表示にする
104 コントロールの大きさを変更する
105 コントロールの表示位置を変更する
106 フォームのコントロールの大きさをフォームに合わせる
107 フォームの端からの距離を一定にする
108 フォームを領域のサイズが変更可能な状態で2分割する
109 フォームを表形式に分割してコントロールを整列させる
110 フォームのサイズに合わせてコントロールの配置を自動調整する
111 タスクバーの通知領域にアイコンを表示する
112 コントロールをポイントしたときにヒントテキストを表示する
113 Tabキーでフォーカスを移動しないようにする
114 フォーカスの移動順を設定する
115 実行時にコントロールを追加する
116 実行時に追加したコントロールにイベントハンドラーを作成する
3-3MDI
117 MDIフォームを作成する
118 メニューにMDI子フォームのリストを表示する
119 MDI子フォームを並べて表示する
120 アクティブなMDI子フォームを取得する
第4章 基本プログラミングの極意
4-1基礎
121 コードにコメントを入力する
122 C#のデータ型を使う
123 変数を使う
124 リテラル値のデータ型を指定する
125 値型と参照型を使う
126 定数を使う
127 列挙型を定義する
128 データ型を変換する
129 文字列から数値データに変換する
130 文字列の途中に改行やタブなどを挿入する
131 文字列をそのまま利用する
132 文字列に変数を含める
133 dynamic型を使う
134 null許容型を使う
135 タプルを使う
4-2演算
136 加減乗除などの計算をする
137 演算子を使って比較や論理演算を行う
138 複数の条件を判断する
139 オブジェクトが指定したデータ型にキャスト可能か調べる
140 null値を変換する
4-3日付と時刻
141 現在の日付と時刻を取得する
142 日付要素を取得する
143 時刻要素を取得する
144 曜日を取得する
145 一定期間前や後の日付/時刻を求める
146 2つの日時の間隔を求める
147 任意の時間間隔を作成する
148 任意の日付を作成する
149 日付文字列を日付データにする
150 日付データを日付文字列にする
4-4制御構造
151 条件を満たしている場合に処理を行う
152 式の結果に応じて処理を分岐する
153 条件に応じて値を返す
154 指定した回数だけ処理を繰り返す
155 条件が成立する間、処理を繰り返す
156 条件式の結果にかかわらず、一度は繰り返し処理を行う
157 コレクションまたは配列に対して処理を繰り返す
158 ループの途中で処理を先頭に戻す
4-5配列
159 配列を使う
160 配列の宣言時に値を代入する
161 配列の要素数を求める
162 配列の要素数を変更する
163 配列の配列(ジャグ配列)を利用する
164 配列の要素を並べ替える
165 配列をクリアする
166 配列をコピーする
4-6コレクション
167 サイズが動的に変化するリストを使う
168 リストを初期化する
169 リストに追加する
170 リストを削除する
171 リストをコピーする
172 キーと値がペアのコレクションを作成する
173 キーと値のペアを追加する
174 キーを指定して値を探す
175 キーの一覧を取得する
4-7メソッド
176 値渡しで値を受け取るメソッドを作成する
177 値を返すメソッドを作成する
178 値を返さないメソッドを作成する
179 参照渡しで値を受け取るメソッドを作成する(out)
180 参照渡しで値を受け取るメソッドを作成する(ref)
181 配列やコレクションの受け渡しをするメソッドを作成する
182 引数の数が可変のメソッドを作成する
183 名前が同じで引数のパターンが異なるメソッドを作成する
184 イベントハンドラーをラムダ式で置き換える
185 引数のあるラムダ式を使う
186 ラムダ式を再利用する
187 メソッド内の関数を定義する
4-8クラスの作成
188 クラスを作成(定義)する
189 クラスのコンストラクターを作成する
190 クラスのプロパティを定義する
191 クラスのメソッドを定義する
192 クラスのイベントを定義する
193 定義したイベントのイベントハンドラーを作成する
194 オブジェクト生成時にプロパティの値を代入する
195 クラスを継承する
196 基本クラスのメソッドやプロパティを派生クラスで再定義する
197 型情報を引数にできるクラスを作成する
198 クラスに固有のメソッドを作成する
4-9構造体
199 構造体を定義して使う
200 構造体配列を宣言して使う
201 構造体を受け取るメソッドを作成する
202 構造体を返すメソッドを作成する
第5章 非同期処理の極意
5-1非同期処理
203 タスクを作成する
204 タスクを作成して実行する
205 戻り値を持つタスクを作成する
206 タスクの完了を待つ
207 複数のタスクの実行を待つ
208 非同期メソッドを呼び出す
209 タスクの終了時に実行を継続する
210 スレッドを切り替えてUIを変更する
211 一定時間停止する
212 イベントが発生するまで停止する
213 タスクの実行をキャンセルする
第6章 リフレクションの極意
6-1リフレクション
214 クラス内のプロパティの一覧を取得する
215 クラス内の指定したプロパティを取得する
216 クラス内のメソッドの一覧を取得する
217 クラス内の指定したメソッドを取得する
218 リフレクションでプロパティに値を設定する
219 リフレクションでプロパティの値を取得する
220 リフレクションでメソッドを呼び出す
221 クラスに設定されている属性を取得する
222 プロパティに設定されている属性を取得する
223 メソッドに設定されている属性を取得する
224 プライベートフィールドの値を設定する
225 プライベートプロパティの値を設定する
226 プライベートメソッドを呼び出す
227 アセンブリを指定してインスタンスを生成する
第7章 文字列操作の極意
7-1文字列操作
228 文字コードを取得する
229 文字列の長さを求める
230 英小(大)文字を英大(小)文字に変換する
231 指定位置から指定文字数分の文字を取得する
232 文字列内に指定した文字列が存在するか調べる
233 文字列内から指定した文字列の位置を検索する
234 2つの文字列の大小を比較する
235 文字列内の指定文字を別の文字に置き換える
236 文字列が指定文字列で始まって(終わって)いるか調べる
237 文字列の前後のスペースを削除する
238 文字列内から指定位置の文字を削除する
239 文字列内に別の文字列を挿入する
240 文字列が指定した文字数になるまでスペースを入れる
241 文字列を指定した区切り文字で分割する
242 文字列配列の各要素を連結する
7-2正規表現
243 正規表現でマッチした文字列が存在するか調べる
244 正規表現でマッチした文字列を別の文字列に置き換える
245 正規表現で先頭や末尾の文字列を調べる
246 正規表現でマッチした複数の文字列を取得する
第8章 ファイル、フォルダー操作の極意
8-1ファイル、フォルダー操作
247 ファイル、フォルダーの存在を確認する
248 ファイル、フォルダーを削除する
249 ファイル、フォルダーを移動する
250 ファイルをコピーする
251 ファイル、フォルダーの作成日時を取得する
252 カレントフォルダーを取得/設定する
253 アセンブリのあるフォルダーを取得する
254 フォルダーを作成する
255 フォルダー内のすべてのフォルダーを取得する
256 フォルダー内のすべてのファイルを取得する
257 パスのファイル名/フォルダー名を取得する
258 ファイルの属性を取得する
259 ファイルの属性を設定する
260 ドキュメントフォルダーの場所を取得する
261 論理ドライブ名を取得する
262 ドライブの種類を調べる
8-2テキストファイル
263 テキストファイルを開く/閉じる
264 テキストファイルから1行ずつ読み込む
265 テキストファイルから1文字ずつ読み込む
266 テキストファイルの内容を一度に読み込む
267 ファイルの最後かどうかを調べる
268 テキストファイルを作成する
269 テキストファイルの末尾に書き込む
270 テキストファイルに書き込む
271 書き込みモードを指定してファイルを開く
272 バイナリデータをファイルに書き出す
273 構造体データをファイルに書き出す
第9章 コモンダイアログの極意
9-1コモンダイアログ
274 ファイルを開くダイアログボックスを表示する
275 名前を付けて保存するダイアログボックスを表示する
276 フォントを設定するダイアログボックスを表示する
277 色を設定するダイアログボックスを表示する
278 フォルダーを選択するダイアログボックスを表示する
第2部 アドバンスド・プログラミングの極意
第10章 データベース操作の極意
10-1データベース操作
279 Entity Data Modelを作成する
280 Entity Data Modelを更新する
281 実行時に接続先を変更する
282 テーブルにデータを追加する
283 テーブルのデータを更新する
284 テーブルのデータを削除する
285 テーブルのデータを参照する
286 テーブルのデータ数を取得する
10-2LINQ
287 データベースのデータを検索する
288 クエリ文でデータを検索する
289 メソッドチェーンでデータを検索する
290 データを並べ替えて取得する
291 指定した行番号のレコードを取得する
292 指定した列名の値を取得する
293 取得したデータ数を取得する
294 データの合計値を取得する
295 2つのテーブルを内部結合する
296 2つのテーブルを外部結合する
297 新しい検索結果を作成する
298 要素が含まれているかを調べる
299 最初の要素を取り出す
300 最後の要素を取り出す
301 最初に見つかった要素を返す
302 最後に見つかった要素を返す
303 要素を指定して削除する
304 SQL文を指定して実行する
10-3DataGridコントロール
305 DataGridにデータを表示する
306 DataGridに抽出したデータを表示する
307 DataGridを読み取り専用にする
308 DataGridに行を追加不可にする
309 DataGridに行を作成してデータを追加する
310 DataGridを1行ごとに色を変更する
311 DataGridの列幅を自動調節する
10-4トランザクション
312 トランザクションを開始/終了する
313 トランザクションを適用する
314 トランザクションを中止する
第11章 エラー処理の極意
11-1構造化例外処理
315 例外に対処する
316 すべての例外に対処する
317 例外発生の有無にかかわらず、必ず後処理を行う
318 例外のメッセージを取得する
319 配列のインデックスが範囲外の例外をとらえる
320 無効なメソッドの呼び出しの例外をとらえる
321 例外を呼び出し元で処理する
322 例外の種類を取得する
323 例外が発生した場所を取得する
324 例外を発生させる
325 新しい例外を定義する
11-2例外クラス
326 引数が無効の場合の例外をとらえる
327 引数の値が範囲外の場合の例外をとらえる
328 引数がnullの場合の例外をとらえる
329 IOエラーが発生した場合の例外をとらえる
330 ファイルが存在しない場合の例外をとらえる
331 フォルダーが存在しない場合の例外をとらえる
332 データベースに接続できない場合の例外をとらえる
第12章 デバッグの極意
12-1IDE
333 例外処理アシスタントを表示しないようにする
334 ブレークポイントを設定/解除する
335 指定の実行回数で中断する
336 指定の条件になったら中断する
337 実行中断時に変数の値を表示したままにする
338 実行中断時にローカル変数の値を一覧表示する
339 変数や式を登録して実行中断時に値を確認する
340 1行ずつステップ実行をする
341 イミディエイトウィンドウを使う
342 実行中断時にオブジェクトデータを視覚的に表示する
343 実行中断時にコードを編集する
344 実行中のプロセスにアタッチする
345 ビルド構成を変更する
346 コンパイルスイッチを設定する
347 プラグマでビルドしないコードを設定する
12-2Debugクラスの利用
348 デバッグ情報を出力する
349 デバッグ情報をインデントして出力する
350 条件によってデバッグ情報を出力する
351 デバッグ情報をファイルに出力する
352 出力先に自動的に書き込む
353 警告メッセージを出力する
354 条件によって警告メッセージを表示する
355 デバッグ情報をイベントログに出力する
12-3MSTest
356 単体テストプロジェクトを作成する
357 単体テストを追加する
358 数値を比較する
359 文字列を比較する
360 オブジェクトがnullかどうかをチェックする
361 例外処理をテストする
362 テストを実行する
363 テストをデバッグ実行する
364 テストの前処理を記述する
365 テストの後処理を記述する
第13章 グラフィックの極意
13-1グラフィック
366 直線を描画する
367 四角形を描画する
368 円を描画する
369 多角形を描画する
370 背景をグラデーションで描画する
371 画像を半透明にして描画する
372 画像をセピア色にして描画する
373 透過色を使って画像を描画する
374 画像を回転する
375 画像を反転する
376 画像を切り出す
377 画像を重ね合わせる
378 画像の大きさを変える
379 画像に文字を入れる
380 画像をファイルに保存する
381 ファイルから画像を読み込む
第14章 WPFの極意
14-1アプリケーション
382 WPFアプリケーションを作成する
383 WPFウィンドウの大きさを変える
384 ボタンを配置する
385 テキストを配置する
386 テキストボックスを配置する
387 パスワードを入力するテキストボックスを配置する
388 チェックボックスを配置する
389 ラジオボタンを配置する
390 コンボボックスを配置する
391 リストボックスを配置する
392 四角形を配置する
393 楕円を配置する
394 画像を配置する
395 ボタンに背景画像を設定する
14-2XAML
396 XAMLファイルを直接編集する
397 グリッド線で分割する
398 グリッドの比率を変える
399 グリッドの固定値を指定する
400 マージンを指定する
401 パディングを指定する
402 コントロールを複数行にまたがって配置する
403 キャンバスを利用して自由に配置する
404 キャンバス内で矩形を回転させる
405 キャンバス内で動的に位置を変更する
406 実行時にXAMLを編集する
14-3MVVM
407 MVVMを利用する
408 ViewModelクラスを作成する
409 プロパティイベントを作成する
410 ラベルにモデルを結び付ける
411 テキストボックスにモデルを結び付ける
412 リストボックスにモデルを結び付ける
413 DataGridにモデルを結び付ける
414 ListViewにモデルを結び付ける
415 ListViewの行をカスタマイズする
416 ボタンイベントをコマンドに結び付ける
417 階層構造のモデルに結び付ける
418 モデルにデータベースを結び付ける
第15章 ネットワークの極意
15-1DNSクラス
419 コンピューター名を取得する
420 コンピューターのIPアドレスを取得する
15-2ネットワーク
421 コンピューターにTCP/IPで接続する
422 コンピューターへTCP/IPでデータを送信する
423 コンピューターからTCP/IPでデータを受信する
424 TCP/IPを使うサーバーを作成する
15-3HTTPプロトコル
425 Webサーバーに接続する
426 クエリ文字列を使ってWebサーバーに接続する
427 Webサーバーからファイルをダウンロードする
428 Webサーバーにファイルをアップロードする
429 GETメソッドで送信する
430 POSTメソッドを使ってフォーム形式で送信する
431 POSTメソッドを使ってJSON形式で送信する
432 戻り値をXMLで処理する
433 戻り値をJSON形式で処理する
434 ヘッダにコンテンツタイプを設定する
435 ヘッダに追加の設定を行う
436 クッキーを有効にする
437 ユーザーエージェントを設定する
第16章 ASP.NETの極意
16-1MVC
438 新しいASP.NET MVCプロジェクトを作成する
439 ASP.NET MVCとは
440 新しいビューを追加する
441 新しいコントローラーを追加する
442 新しいモデルを追加する
443 タイトルを変更する
444 ViewDataコレクションを使って変更する
445 別のページに移る
446 データを引き継いで別のページに移る
447 ほかのフォルダーへリダイレクトする
16-2Razor構文
448 Viewでモデルを参照させる
449 名前空間を設定する
450 ViewにC#のコードを記述する
451 Viewで繰り返し処理を行う
452 Viewで条件分岐を行う
453 フォーム入力を記述する
454 テキスト入力を記述する
16-3データバインド
455 ASP.NET MVCからEntity Frameworkを扱う
456 Entity Frameworkのモデルを追加する
457 Entity Framework対応のコントローラーを作成する
458 項目をリストで表示する
4591つの項目を表示する
460 新しい項目を追加する
461 既存の項目を編集する
462 既存の項目を削除する
463 必須項目の検証を行う
464 数値の範囲の検証を行う
16-4Web API
465 Web APIとは
466 Web APIのプロジェクトを作成する
467 複数のデータを取得するWeb API を作る
468 IDを指定してデータを取得するWeb API を作る
469 値を更新するWeb APIを作成する
470 JSON形式で結果を返す
471 XML形式で結果を返す
472 JSON形式でデータを更新する
473 XML形式でデータを更新する
第17章 アプリケーション実行の極意
17-1アプリケーション制御
474 ほかのアプリケーションを起動する
475 ほかのアプリケーションの終了を待つ
476 アプリケーションの二重起動を防止する
17-2クリップボード
477 クリップボードにテキストデータを書き込む
478 クリップボードに画像データを書き込む
479 クリップボードのデータを読み取る
480 クリップボードの画像データを読み取る
17-3レジストリ
481 レジストリからデータを読み込む
482 レジストリへデータを書き出す
483 レジストリのデータを削除する
第18章 Excelの極意
18-1ワークシート
484 Excelを参照設定する
485 既存のファイルを開く
486 既存のシートから値を取り出す
487 既存のシートから表を取り出す
488 セルに値を書き込む
489 セルに色を付ける
490 セルに罫線を付ける
491 ファイルに保存する
492 シートの一覧を取得する
493 新しいシートを追加する
494 PDFファイルで保存する
495 指定したシートを印刷する
18-2Web API
496 指定URLの内容を取り込む
497 天気予報APIを利用する
498 指定地域の温度を取得する
499 新刊リストを取得する
500 書籍情報を取得する
コラム
Visual Studio 2019のシステム要件
サンプルプログラムのコードを確認する方法
コードエディター内で使用できる主なショートカットキー
サンプルプログラムのコードを実行する方法
複数のコントロールを整列させる
Visual Studio Code
.NET Coreの広がり
Web APIとJSON
WebAssemblyの活用
Xamarin.FormsとReact Native
Azure Functions