Visual C# 2013 パーフェクトマスター

概 要

マイクロソフトの統合開発環境「Visual C# 2013」を使ったアプリケーション開発とプログラムのポイントがしっかり身につく解説書です。Visual C# 2013では、デスクトップアプリ、Webアプリ、Windowsストアアプリなど様々な形態の開発をサポートしています。本書は、プログラミングがはじめての方でも最後まで読み通せるように、ソースコードの構造やプログラムが動く仕組もていねいに説明し、C#の文法に主眼を置きながら、デスクトップアプリケーション、Windowsストアアプリ、さらにデータベース管理ソフト「SQL Server Express」を利用したデータベースアプリケーションの開発手順を解説しています。サンプルデータのダウンロードサービス付き。

著者 金城俊哉
価格 本体3400円(税別)
ISBN 978-4-7980-4019-6
発売日 2014/1/15
判型 B5変
色数 4色
ページ数 1122
CD/DVD
対象読者 中級
シリーズ パーフェクトマスター
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

Chapter 1 Visual C#の概要と開発環境の準備

1.1 ●Microsoft.NETとVisualStudio

1.1.1 Microsoft.NETの誕生

.NET誕生の経緯を確認する

コラム C、C++とC#の関係を教えてください

コラム Windows DNA

1.1.2 .NET Frameworkにおけるアプリケーションの開発

.NET Frameworkにおけるアプリケーション開発の基盤技術

1.2 ●.NET Frameworkの概要

1.2.1 .NET Frameworkの構造

.NET Frameworkの構造を確認する

1.2.2 CLR(共通言語ランタイム)の構造

CLR(共通言語ランタイム)が必要な理由を確認する

コラム ランタイム

CLR(共通言語ランタイム)に含まれるソフトウェアを確認する

1.2.3 クラスライブラリ

クラスライブラリについて確認する

コラム ガベージコレクション

1.2.4 CLRにおけるプログラムの実行手順

CLR上でプログラムが実行される仕組みを確認する

1.2.5 .NET対応の開発ツール

Visual Studioに含まれる製品群を確認する

C#の特徴を確認する

1.3 ●Visual Studio Express 2013 for Windows Desktopのセットアップ

1.3.1 Visual Studio Express 2013 for Windows Desktopに必要な環境

Visual Studio Express 2013 for Windows Desktopを

使うためのシステム要件

Visual Studio Express 2013 for Windows Desktopに

必要なハードウェア要件を確認する

1.3.2 Visual Studio Express 2013 for Windows Desktopのインストール

コラム ライセンスの更新

1.3.3 Visual Studio Express 2013 for Windows Desktopの起動と終了

Visual Studio Express 2013 for Windows Desktop

を起動する

Visual C#を終了する

コラム Visual Studio Express 2013 for Windows Desktopのスタートページ

1.4 ●Visual C#によるデスクトップアプリケーション開発

1.4.1 Visual C#におけるアプリケーション開発の流れ

1.4.2 Visual C#におけるプログラムの管理形態

(プロジェクトとソリューション)

コラム Visual Studioと.NET Frameworkのバージョン

コラム .NET Frameworkの進化

1.5 ●プログラム用ファイルの作成と保存

1.5.1 プロジェクトの作成

プロジェクトを作成する

プロジェクトを保存する

プロジェクトを閉じる

作成済みのプロジェクトを開く

コラム プロジェクト名とプロジェクトの保存先

プロジェクト作成時に生成されるファイルを確認する

コラム コンソールアプリケーション作成時に生成されるファイルやフォルダー

1.6 ●VS Express 2013 for Desktopの操作画面

1.6.1 VS Express 2013 for Desktopの操作画面(ドキュメントウィンドウ)

Windowsフォームデザイナーを表示する

コードエディターを表示する

コラム ドキュメントウィンドウの構造

コラム フォーム用のファイル

1.6.2 Visual Studioで使用する各種のツール(ツールウィンドウの種類)

ツールボックスを表示する

コラム コードエディターの構造

コラム ツールボックスに表示される各種のタブ

ソリューションエクスプローラーを表示する

コラム ソリューションエクスプローラーの機能

プロパティウィンドウを表示する

出力ウィンドウを表示する

コラム プロパティウィンドウの機能

クラスビューを表示する

オブジェクトブラウザーを表示する

コラム オブジェクトブラウザーの機能

1.6.3 ツールウィンドウのカスタマイズ

ウィンドウのサイズを変更する

コラム 表示するツールウィンドウを切り替える

コラム ツールウィンドウを元の位置に戻す

ツールウィンドウの表示方法を指定する

ツールウィンドウを閉じる

コラム ツールウィンドウの自動非表示を解除する

ツールウィンドウをフローティング表示にする

コラム ツールウィンドウの再表示

特定のツールウィンドウを他のウィンドウにドッキングする

1.7 ●ヘルプとヘルプビューアーの活用

1.7.1 ヘルプの活用

ダイナミックヘルプを使う

プログラミングガイドを利用する

1.7.2 ヘルプビューアーの活用

ヘルプビューアー

コラム C#のバージョンとバージョンアップ時に追加された機能

Chapter 2 Visual C#によるデスクトップアプリケーション

開発の基礎

2.1 ●デスクトップアプリケーションの開発

2.1.1 Windowsアプリケーションの概要

Windowsアプリケーションの開発工程を確認する

Windowsフォームの役割と種類を知る

コントロールの種類を確認する

コントロールの操作方法を見る

コラム プロパティ、メソッド、イベントハンドラー

2.1.2 サンプルアプリケーションの作成(「HelloWorld」プログラム)

デスクトップアプリケーション用のプロジェクトを作成する

コントロールを配置する

コラム コントロールとオブジェクト

コラム ヘルプでコントロールの内容を調べるには

コントロールのプロパティを設定する

プログラムコードを入力する

コラム ヘルプでプロパティの内容を調べるには

入力したコードを確認する

コラム Visual C#のインテリセンスを使ってコードを入力する

プログラムを実行する

2.1.3 文字列の操作

文字列を途中で改行する

コラム ビルド

複数の文字列を連結する

コラム +演算子

コラム 文字列の改行

2.2 ●フォームの操作

2.2.1 Formの名前を変更

Formの名前を変更する

Formのファイル名を変更する

コラム オブジェクトの名前の付け方

コラム [プロパティ]ウィンドウを使ってフォームのサイズを変更する

2.2.2 Formの外観の設定

サイズを変更する

フォームの背景色を変更する

コラム [BackColor]プロパティの設定

コラム Color構造体

コラム 色の指定

フォームの背景にイメージを表示する

コラム [リソースの選択]ダイアログボックス

タイトルバーのタイトルを変更する

コラム タイトルバーの[Text]プロパティの設定

フォームを半透明にする

タイトルバーのアイコンを取り替える

コラム [Opacitiy]プロパティの設定

タイトルバーのボタンを非表示にする

2.2.3 フォームの表示位置の指定

プログラム起動時にFormを画面中央に表示する

コラム [ControlBox]プロパティの設定

コラム [StartPosition]プロパティの設定

コラム [StartPosition]プロパティで指定できる値

フォームの表示位置を指定する

コラム [Location]プロパティの設定

2.3 ●コントロールとコンポーネントの操作

2.3.1 コントロールの名前の変更

2.3.2 コントロールのテキストの変更

コントロールに表示するテキストを変更する

テキストのサイズとフォントを指定する

テキストや背景の色を指定する

コラム [Name]プロパティの設定

コラム コントロールの[Text]プロパティの設定

コラム [Font]プロパティ

コラム [ForeColor]プロパティと[BackColor]プロパティの設定

2.3.3 コントロールの位置とサイズの変更

コントロールを移動する

コントロールをコピーする

コントロールのサイズを変更する

コントロールの位置を揃える

コラム メニューを利用する

コラム 整列用のボタン

コントロールのサイズを揃える

コントロールの間隔を揃える

コラム Labelコントロールのサイズを自動で調整させる

コラム ツールバーに[レイアウト]が表示されていない場合は

コラム サイズ揃え用のボタン

コラム 間隔調整用のボタン

テキストの表示位置を揃える

GroupBoxを利用して複数のコントロールを配置する

2.3.4 コントロールのカスタマイズ

タブインデックスを設定する

コラム フォーム上にグリッドを表示する

コラム タブインデックスを指定したときの動作

コラム フォーカスを得られないようにするには

テキストボックスの入力モードを指定する

コラム [ImeMode]プロパティ

ツールヒントを表示する

アクセスキーを設定する

タブを使って画面を切り替えられるようにする

2.3.5 メニューの配置

フォームにメニューを配置する

メニューの項目を設定する

コラム MenuStripコンポーネントの追加

コラム メニューを追加する

コラム サブメニューを追加するには

コラム メニューの項目やサブメニューを削除するには

メニューにアクセスキーを割り当てる

コラム メニュー項目に区分線を入れる

メニューにショートカットキーを割り当てる

右クリックメニューを設定する

コラム アクセスキーの設定

2.3.6 ツールバーの配置

ツールバーを配置する

Chapter 3 Visual C#のプログラムの構造

3.1 ●コンソールアプリケーションのプログラムの構造

3.1.1 プログラムコードの実体(ステートメント)

ステートメントを記述する

コンソールアプリケーションのコードを検証する

コラム コメントの記述

コラム 名前空間の特徴

コラム 名前空間とクラス

コラム Visual C#のキーワード

コラム ドキュメントコメント

3.2 ●Windowsフォームアプリケーションのプログラムの構造

3.2.1 Windowsフォームアプリケーションの実体―プログラムコードの検証

「Program.cs」ファイルのコードを検証する

コラム プロセスとスレッド

「Form1.Designer.cs」ファイルのコードを検証する

コラム 「#region」

「Form1.cs」ファイルのコードを検証する

3.2.2 プログラム実行の流れ

フォームが表示されるプロセスを確認する

フォームが終了されるプロセスを確認する

フォームにボタン追加時のプログラムコードを確認する

コラム デストラクター

Q&A

Chapter 4 データを用いた演算

4.1 ●Visual C#におけるデータ構造

4.1.1 CTS(共通型システム)

Visual C#におけるデータ型を確認する

コラム 値型のメモリー管理

コラム 値型のメモリー割り当て

4.1.2 Visual C#におけるデータ型

値型の特徴を確認する

コラム コンソールがすぐに閉じてしまうときの対処法

コラム スタックは後入れ先出し方式で使われる

コラム スタック割り当てはヒープメモリーの確保よりも高速で行われる

コラム ヒープの使い方

コラム スタックとヒープ

コラム クラスとオブジェクト

参照型の特徴を確認する

値型と参照型を使い分けるメリットを確認する

4.2 ●変数の役割

4.2.1 データを格納する領域の確保(変数の使い方)

変数を宣言する

変数に値を代入する

varによる暗黙の型を利用した変数宣言

変数名の付け方を確認する

4.2.2 変数の種類(ローカル変数とフィールド)

ローカル変数とフィールドの違いを確認する

コラム プロパティ

ローカル変数の宣言を行う

コラム メンバーとは

フィールドの宣言を行う

ローカル変数のフィールドのスコープを確認する

ローカル変数を参照する

フィールドを参照する

4.3 ●定数の役割

4.3.1 不変のデータを格納する領域の確保(定数の使い方)

定数を使うメリットを確認する

定数の種類を確認する

ローカル定数を宣言する

フィールド定数を宣言する

コラム 定数名の付け方

コラム フィールドやフィールド定数の使い方

4.4 ●演算子による演算

4.4.1 演算の実行(演算子の種類と使い方)

代入演算子の機能を確認する

算術演算子の機能を確認する

連結演算子の機能を確認する

比較演算子の機能を確認する

論理演算子の機能を確認する

コラム カッコの使い方

コラム 演算子が実行される順序

代入演算子による簡略表記

コラム 単項演算子と二項演算子

コラム 単純代入演算子と複合代入演算子

コラム 等値演算子と非等値演算子による文字列の比較

コラム 前置インクリメント演算と後置インクリメント演算

文字列を比較する

コラム ==演算子における値型と参照型の判定結果の違い

コラム イベント

コラム Visual Studioにおけるイベントハンドラーの自動作成

コラム 2進数

コラム 補数による負の数の表現

4.4.2 変数と定数を使ったプログラムの作成

ユーザーインターフェイスを作成する

コラム 16進数

プログラムコードを入力する

コラム 小数以下の値を四捨五入するには

4.5 ●データ型の変換

4.5.1 データ型の変換(暗黙的な型変換とキャスト)

データ型を変換する必要性を確認する

暗黙的な型変換が行われる状況を確認する

キャストを行う

コラム キャストを行うための注意点

4.5.2 メソッドを使用した型変換(Convertクラスによる変換)

Convertクラスのメソッドを使用して型変換を行う

4.5.3 値型から参照型への変換(Boxing)

値型のデータを参照型にキャストする

参照型のデータを値型に戻す

4.5.4 数値から書式指定文字への変換(Formatメソッド)

「String.Format」メソッドで数値を3桁ごとに区切る

指定した桁に満たない数値に「0」を表示しないようにする

「String.Format」メソッドにおける書式設定の方法を確認する

コラム #と0の違い

4.6 ●組み込み型

4.6.1 整数型

コラム 整数型の変数宣言

データ型の不適切な指定によるエラーを回避する

コラム long型同士の演算

オーバーフローを回避する

コラム オーバーフローをチェックする

コラム リテラル

4.6.2 浮動小数点型

コラム 整数型への型キャストを行うメソッド

リテラルの不適切な指定によるエラーを回避する

コラム 浮動小数点数型への型キャストを行うメソッド

コラム 実数リテラルの表記法

コラム 小数点以下の切り捨て

4.6.3 10進数型

コラム 10進数リテラルの表記法

コラム decimal型への型キャストを行うメソッド

4.6.4 論理型

4.6.5 文字列型

コラム bool型への型キャストを行うメソッド

コラム char型への型キャストを行うメソッド

char型の変数に値を代入する

コラム char型の変数にエスケープシーケンスを代入するには

コラム char型で使用する演算子

4.6.6 object型

「System.Object」クラスのメソッドを確認する

4.6.7 string型

コラム object型で使用する演算子

string型の変数に値を代入する

コラム string型への型キャストを行うメソッド

string型のインスタンスの変移を見る

繰り返し処理をstring型とStringBuilderクラスで行う

4.6.8 string型の変数を使って繰り返し処理を行ってみる

4.7 ●名前空間(ネームスペース)

4.7.1 名前空間の定義

名前空間の仕組みを確認する

名前空間を定義する

4.7.2 usingによる名前空間の指定

usingキーワードを使って名前空間を指定する

usingキーワードを使ってエイリアスを指定する

コラム クラス名の重複

コラム ボタンにツールチップやタイトルを表示するには

Chapter 5 制御構造

5.1 ●選択ステートメント

5.1.1 条件によって処理を分岐

「if...else」ステートメントを利用したプログラムを作成する

コラム 「MessageBox.Show」メソッド

5.1.2 3つ以上の選択肢を使って処理を分岐

「if...else if...else if」ステートメントを利用した

プログラムを作成する

5.1.3 複数の条件に対応して処理を分岐

switchステートメントを利用したプログラムを作成する

5.2 ●繰り返しステートメント

5.2.1 同じ処理を繰り返す

条件が満たされる間は実行されるプログラムを作成する

条件が満たされない間は実行されるプログラムを作成する

5.2.2 繰り返し処理を最低1回は行う

繰り返し処理を最低1回は行うプログラムを作成する

5.2.3 繰り返し処理とカウンターの定義を一体化する

「for」ステートメントを利用したプログラムを作成する

5.2.4 コレクション内のすべてのオブジェクトに同じ処理を実行

「foreach」ステートメントを利用したプログラムを作成する

5.2.5 ループを途中で止める

コラム 「Controls」コレクションの中身を確認する

「break」ステートメントを利用したプログラムを作成する

コラム 特定のコントロールに対して例外処理を行う

Chapter 6 コレクションとジェネリック

6.1 ●配列とコレクション

6.1.1 1次元配列を使う

1次元配列に値を格納する

1次元配列を利用したプログラムを作成する

コラム クォーテーション「'」とダブルクォーテーション「"」の使い方がわかりません

1次元配列を利用したプログラムを実行する

6.1.2 2次元配列を使う

2次元配列の要素に値を代入する

コラム モーダルとモードレス

2次元配列を利用したプログラムを作成する

2次元配列を利用したプログラムを実行する

コラム varを使用した配列の宣言

コラム 初期化子

6.1.3 コレクション・クラス

「Listジェネリック・クラス」を利用したプログラムを作成する

コラム 配列の要素数を求める

6.2 ●ジェネリック

6.2.1 ジェネリックを使うメリット

6.2.2 ArrayListクラスを大きく変えたジェネリッククラス

ジェネリッククラスを使う

コラム ジェネリッククラスとArrayListクラスの処理時間の比較

コラム インデクサの効用

コラム Dictionary<Tkey,TValue>クラス

コラム コレクション初期化子

コラム List<T>ジェネリッククラスにおけるAction<T>デリゲートの活用

6.2.3 型パラメーターを持つクラス

コード解説

複数の型パラメーターを持つクラス

6.2.4 ジェネリック・メソッド

コラム 型パラメーターの名前付けのガイドライン(MSDNより抜粋)

コラム ジェネリックデリゲート

6.3 ●イテレーター

6.3.1 イテレーターによる反復処理

イテレーターを使ったシンプルなプログラム

イテレーターを使ったプログラムを作成する

Chapter 7 メソッド

7.1 ●メソッドの戻り値とパラメーターの設定

7.1.1 メソッドの実行と終了

returnによるメソッドの強制終了

7.1.2 メソッドの戻り値

コラム パラメーターの既定値

7.1.3 パラメーター

パラメーターの設定

コラム 可変長のパラメーターリスト

7.1.4 値渡しと参照渡し

引数の値渡し

引数の参照渡し

7.1.5 outで参照渡しを簡潔に実行する

コラム パラメーターの並び順を無視して引数の並び順を決める

7.2 ●メソッドの呼び出し式

7.2.1 呼び出し式を使用したメソッド呼び出し

インスタンスメソッドの呼び出し

静的メソッドの呼び出し

7.2.2 ジェネリックと呼び出し式

7.2.3 デリゲート経由のメソッド呼び出し

定義済みのデリゲート型

7.2.4 ラムダ式

ラムダ式の書き方

値を返すラムダ式

7.2.5 ラムダ式における変数の参照

コラム 式だけで構成されるラムダ式

7.2.6 メソッドの戻り値をクラス型で返す

コラム 戻り値の型を構造体にする

コラム 条件演算子を利用したifステートメントの省略

Chapter 8 LINQ

8.1 ●LINQによるデータの抽出

8.1.1 LINQとクエリ式

配列から特定の範囲の数値を取り出す

文字配列から特定の文字で始まるデータを取り出す

8.1.2 LINQを利用した並べ替え

コラム クエリ式をメソッドの呼び出し式に書き換える

8.2 ●LINQによるデータの加工

8.2.1 select句におけるデータの加工処理

コラム メソッドを使った式に書き換える

8.2.2 インスタンスのデータを加工する

コラム 抽出するインスタンスを絞り込む

匿名オブジェクトを使って新たなインスタンスを生成する

コラム 匿名オブジェクト

メソッドを使った式に書き換える

コラム 降順で並べ替える

Chapter 9 構造体と列挙体

9.1 ●構造体

9.1.1 構造体の概要

構造体の特徴を確認する

構造体のメンバーを確認する

9.1.2 構造体の定義

構造体を使ったプログラムを作成する

9.1.3 構造体のコンストラクター

コラム 構造体とクラスの処理時間を計測してみる

コラム 構造体は値型

9.2 ●列挙体

9.2.1 列挙体の概要

9.2.2 列挙体を使ったプログラムの作成

Chapter 10 VisualC#によるオブジェクト指向プログラミング

10.1 ●クラスの作成

10.1.1 クラス専用ファイルの作成

空のクラスを作成する

コラム クラス名の付け方

作成したクラスの中身を確認する

クラスの機能を決定する

10.1.2 フィールドの宣言

フィールド変数の機能を確認する

フィールドを宣言する

コラム プロパティの参照

10.1.3 プロパティの定義

プロパティを定義する

コラム 読み取り専用と書き込み専用のプロパティ

コラム GetとSetに異なるアクセシビリティを設定する

10.1.4 メソッドの定義

メソッドを定義する

10.1.5 作成したクラスの確認

コードビューを使ってクラスの中身を確認する

コラム ブール条件論理演算子

10.1.6 操作画面の作成

操作画面を作成する

イベントハンドラーを作成する

10.1.7 プログラムの動作確認

プログラムを実行して動作を確認する

10.1.8 コンストラクターの定義

コンストラクターを作成する

コラム プロパティにチェック機能を実装する

10.1.9 自動実装プロパティ

コードビューを使ってクラスの中身を確認する

コラム プロパティの設定

コラム returnステートメント

10.2 ●インスタンスメソッド

10.2.1 インスタンスメソッドの定義と使い方

インスタンスメソッドを定義する

10.2.2 複数のメソッドを持つクラス

メソッド呼び出しによるフィールドの値の推移

10.2.3 戻り値を返すインスタンスメソッド

10.2.4 メソッドのオーバーロード

メソッドをオーバーロードする(パラメーター型の相違)

メソッドをオーバーロードする(パラメーターの数の相違)

メソッドのオーバーロードが使えない場合

10.3 ●コンストラクター

10.3.1 コンストラクターの役割

10.3.2 コンストラクターの定義方法と使い方

コンストラクターの使い方

10.3.3 コンストラクターのパラメーターを配列にする

コラム 無名配列

10.3.4 コンストラクターのオーバーロード

コンストラクターのオーバーロドを使ってみる

10.3.5 デフォルトコンストラクター

デフォルトコンストラクターの注意点

10.3.6 thisによる参照情報の付加

暗黙的に付けられるthis

オブジェクトの参照を示すthis

10.3.7 this()によるコンストラクター呼び出し

this()で別のコンストラクターを呼び出す

10.4 ●継承

10.4.1 継承の仕組み

継承を行う方法を確認する

10.4.2 基本クラスと派生クラスの作成

基本クラスを確認する

派生クラスを作成する

派生クラスにコンストラクターを追加する

ユーザーインターフェースを変更する

イベントハンドラーを変更する

コラム 継承のメリット

イベントハンドラーの処理の流れを確認する

コラム baseによる基本クラスのコンストラクター呼び出し

プログラムを実行する

10.4.3 派生クラスの継承

派生クラスを継承する

派生クラスを継承するプログラムの作成

コラム 単一継承の原則

コラム 継承に含まれない要素

10.4.4 継承におけるコンストラクターの扱い

基本クラスのコンストラクターの呼び出し

コラム コンストラクターに:base()が付加されるパターン

パラメーターを持つ基本クラスのコンストラクター

パラメーター付きコンストラクター呼び出し時のエラー

10.4.5 継承におけるオーバーロード

継承時におけるオーバーロード時の条件

基本クラスのメソッドの呼び出し

10.5 ●オーバーライド

10.5.1 オーバーライドによるメソッドの再定義

10.5.2 オーバーライドを利用したデスクトップアプリケーションの作成

コラム クラスのメンバー

基本クラスを作成する

派生クラスにおけるオーバーライド

10.5.3 基本クラス型の参照変数の利用

基本クラス型の変数に派生クラスのインスタンスを割り当てる

10.5.4 インスタンスの型によるオーバーライドメソッドの有効化

派生クラスのオーバーライドメソッドを呼び出す

起動するオーバーライドメソッドの指定

10.6 ●メソッドと配列における参照変数の利用

10.6.1 参照型のパラメーター

10.6.2 インスタンス同士の演算

コラム 初期値をセットしてクラス型の配列を作成する

10.6.3 クラス型の配列

複数のフィールドを持つクラスを配列要素で扱う

10.7 ●ポリモーフィズム

10.7.1 ポリモーフィズムを利用するクラスの作成

抽象クラスについて確認する

抽象クラス型の基本クラスを作成する

1つ目の派生クラスを作成する

2つ目の派生クラスを作成する

10.7.2 ユーザーインターフェイスの作成とプログラムの実行

Windowsフォームを作成する

イベントハンドラーを定義する

プログラムを実行する

10.7.3 基本クラス型の参照変数を使用したポリモーフィズム

オーバーライドメソッドとオーバーロードメソッドを呼び分ける

10.8 ●抽象クラスとインターフェイス

10.8.1 抽象クラス

抽象クラスを使う

抽象クラスを使用する際の条件

10.8.2 抽象クラス型の参照変数

コラム abstractを付けるとどんなクラスでも抽象クラスになる

10.8.3 インターフェイスの概要

10.8.4 インターフェイスの作成

10.8.5 インターフェイスの実装

インターフェイスをクラスに実装する

複数のインターフェイスを実装する

コラム 実装したメソッドと同名のメソッドを定義するには

10.8.6 実装と継承を同時に使う

実装と継承を同時に行うクラスの作成

10.8.7 インターフェイス型の参照変数

インターフェイス型の参照変数からのメソッド呼び出し

10.8.8 インターフェイスを介したクラスへのアクセス

インターフェイスを通じたクラスの利用

コラム コンソールがすぐに閉じてしまうときの対処法

10.9 ●デリゲート

10.9.1 デリゲートの特徴と用途

デリゲートの特徴

デリゲートの宣言と利用法

デリゲートを使ってみる

コラム パラメーターと引数の表記

10.9.2 デリゲートを活用する

名前が異なるメソッドへ処理を移譲する

デリゲートインスタンスによるインスタンスの選択

同一のデリゲートインスタンスを別々のメソッドに処理を移譲する

静的メソッドへの処理の委譲

privateメソッドへの処理の委譲

デリゲートオブジェクトを操作する

複数の委譲先をまとめて指定する

10.9.3 デリゲートを活用する

デリゲートを独立したスレッドで処理する

マルチスレッドプログラムで使用したメンバーを確認する

プログラムの検証

コラム スレッドプール

コラム 異なるクラスのメソッドを呼び出す

コラム パラメーターや戻り値が利用可能なデリゲートのマルチスレッド

Chapter 11 静的メンバー

11.1 ●静的メンバー

11.1.1 インスタンスフィールドと静的フィールド

静的メソッド

コラム staticなクラス

コラム デストラクター

Chapter 12 イベント対応型アプリケーションの開発

12.1 ●イベントドリブンプログラミングの実際

12.1.1 ボタンコントロールの利用

ボタンクリックで別のフォームを表示する

コラム フォームをモードレスで開くには

ボタンクリックでフォームを閉じる

コラム イベントハンドラーの自動作成

コラム 他のフォームをモーダルで開くステートメント

コラム モーダルとモードレス

コラム フォームを閉じるステートメント

フォームを閉じると同時にプログラムを終了する

コラム プログラムを終了させるステートメント

コラム フォームのサイズを変化させるステートメント

12.1.2 ボタンコントロールによるフォームの外観の変更

ボタンクリックでフォームのサイズを変更する

ボタンクリックでフォームの表示位置を変更する

ボタンクリックで背景色を変える

コラム フォームの位置を変化させるステートメント

ボタンクリックでフォームを透明にする

ボタンクリックでタイトルバーのボタンを非表示にする

コラム 背景色を設定するステートメント

コラム フォームをフェードインさせる

12.1.3 テキストボックスの利用

入力したテキストをラベルに表示する

テキストボックスを複数行の入力に対応させる

パスワードの入力欄を作る

コラム タイトルバーのボタンを非表示にするステートメント

コラム テキストの複数行入力とスクロールバーの表示

コラム データ型の変換

入力された文字列を数値に変換する

数字以外が入力されたときの例外処理を記述する

コラム パスワード欄に入力可能な文字数を設定しておく

12.1.4 チェックボックスとラジオボタンの利用

チェックボックスをセットする

コラム 数字以外の入力があってもプログラムを止めないようにする

ラジオボタンをセットする

コラム リストボックスで複数選択を可能にする

8.1.5 リストボックスの利用

リストボックスを作成する

選択した項目を取得する

複数の項目を選択できるようにする

コラム チェックボックスのチェックの状態を取得する

コラム ループ処理による選択されたリスト項目の取得

コラム デフォルトで選択される項目を指定する

コラム ToStringメソッド

コラム SelectedItemプロパティ

選択された項目の情報を取り出す方法を確認する

リストボックスに項目を追加できるようにする

コラム MouseClickイベントの種類とイベントの内容

コラム リストボックスに文字列を追加する

コラム リストボックスの項目を削除する

12.2 ●イベントドリブンプログラミングの実際(応用編)

12.2.1 カレンダーを使って日付を取得する

誕生日までの日数を計算するプログラムを作成する

コラム DateTimePickerコントロールを利用した処理

12.2.2 メッセージボックスの利用

MessageBox.Showメソッドを使ってメッセージを表示する

コラム 「MessageBoxButtons」列挙型

メッセージボックスを利用してアプリケーションを閉じる

コラム ボタンの戻り値

12.2.3 メニューの利用

メニューが選択されたときの処理を記述する

12.2.4 他のアプリケーションとの連携

コンポーネントを使って他のプログラムを起動する

プログラムを終了する処理を追加する

12.3 ●日付と時刻を表示するプログラムの作成

12.3.1 日付と時刻を表示するプログラムの作成

日付と時刻を表示するプログラムを作成する

時刻をデジタル表示する時計プログラムを作る

12.3.2 ストップウォッチの作成

ストップウォッチの機能を持つプログラムを作成する

コラム Timerコンポーネント

コラム ストップウォッチプログラムの仕組み

コラム イベントハンドラーと通常のメソッドは何が異なるのですか?

コラム アルゴリズムとは何ですか?

コラム システム時計から日時に関するデータを取得する方法

コラム 取得した「DateTime」型のデータから任意の値を取り出す方法

Chapter 13 ファイル操作と印刷

13.1 ●ファイルの入出力処理

13.1.1 テキストエディター用のユーザーインターフェイスの作成

操作画面を作成する

コラム テキストボックスのプロパティ

コラム メニュー項目間の区切り線

13.1.2 ダイアログボックスを利用したファイルの入出力

ダイアログボックスを使って

ファイルを保存するための処理を記述する

コラム [保存]ボタンまたは[キャンセル]ボタンがクリックされたときの処理

データをファイルに保存するときの処理を確認する

ダイアログボックスを使ってファイルを

開くための処理を記述する

ファイルのデータを読み込むときの処理を確認する

プログラムの終了処理を記述する

13.2 ●印刷機能の追加

13.2.1 印刷機能の組み込み(PrintDocumentとPrintDialog)

[印刷]ダイアログボックスを使って印刷が行えるようにする

コラム Dockプロパティを設定するには

コラム フィールドの宣言

コラム 名前空間のインポート

メニューの[印刷]を選択したときの処理を確認する

エラー処理を追加する

PrintDocumentコントロールの印刷内容を記述する

印刷処理の手順を確認する

コラム PrintDocumentコントロールとPrintDialogコントロール

13.2.2 印刷プレビューとページ設定の追加

[印刷プレビュー]ダイアログボックスを表示する機能を追加する

コラム [印刷プレビュー]ダイアログボックスの表示

コラム [ページ設定]ダイアログボックスの表示

[ページ設定]ダイアログボックスを表示する

13.3 ●子ウィンドウを持つアプリケーションの作成

13.3.1 リッチテキストボックスを配置した子フォームの操作(MDIの利用)

親フォームを作成する

子ウィンドウを作成する

子フォームを開くためのコードを記録する

子フォームにファイル内容を読み込むコードを記述する

指定されたファイルを読み込む手順を確認する

コラム 子フォームの表示

子フォームの内容をファイルに保存させるためのコードを記述する

コラム 子ウィンドウのタイトルに連番を割り当てるには

コラム LoadFileのメソッドのパラメーター

ファイルを保存する手順を確認する

終了と書式設定メニューに対する処理を記述する

[フォント]ダイアログボックスンの設定を適用する手順を確認する

コラム 「try...catch...」によるエラー処理

Q&A

Chapter 14 エラー処理とデバッグ

14.1 ●例外処理

14.1.1 構造化エラー処理―try...catchステートメント

構造化エラーハンドラーと非構造化エラーハンドラー

try...catchステートメントの構造を確認する

14.1.2 try...catchステートメントを利用した例外処理の実際

try...catchステートメントを利用して例外処理を行う

Finallyブロックを使う

14.1.3 エラー内容の取得

Exceptionクラスを利用してエラーの内容を取得する

コラム エラーの種類とエラー関連の用語

14.2 ●デバッグ

14.2.1 ステートメントの1行単位の実行―ステップ実行

ステップ実行でステートメントを1行ずつ実行する

コラム [デバッグの停止]ボタンと[続行]ボタン

14.2.2 指定したステートメントまでの実行―ブレークポイントの設定

ブレークポイントを設定してデバッグを開始する

プログラム実行中の変数の値を確認する

中断しているステートメント内の変数の値を確認する

中断している箇所までのステートメントに

含まれる変数の値を確認する

コラム ブレークポイントの解除

Chapter 15 実行可能ファイルの作成と配布

15.1 ●Visual C#アプリケーションの実行可能ファイルの作成

15.1.1 アセンブリとビルド

アセンブリについて確認する

ビルドについて確認する

15.1.2 .NET対応アプリケーションの実行環境(.NET Framework)

プログラムを動作させるための.NET Frameworkについて知る

.NET Frameworkのインストールプログラムを入手する

15.2 ●実行可能ファイルの作成

15.2.1 ビルドの準備

アセンブリ情報を設定する

コラム 各種情報の表示

実行可能ファイルの名前を設定する

15.2.2 実行可能ファイルの作成

Release用の実行可能ファイルが作成できるようにする

ビルドを実行して実行可能ファイルを作成する

作成したEXEファイル(実行可能ファイル)を実行する

コラム 実行可能ファイルが保存されているフォルダー

コラム 配色テーマの切り替え

Chapter 16 ADO.NETによるデータベースプログラミング

16.1 ●ADO.NETの概要

16.1.1 ADO.NETとデータベースプログラミング

ADO.NETの実体はクラスライブラリ

ADO.NETのインストール先

16.1.2 データベース管理システム

SQLによる処理の依頼

データベースファイルとテーブル

データベースの用語を理解する

コラム 無料で利用できるデータベースソフト

16.2 ●データベースの作成

16.2.1 データベースを作成する

コラム データベースへの接続と切断

16.2.2 テーブルの作成

テーブルを作成する

コラム テーブル名の指定

作成したテーブルを確認する

コラム プライマリーキー

コラム SQL Serverで使用する主なデータ型

コラム コードペイン

コラム スクリプトファイルの保存

コラム テーブルの内容を変更するには

16.2.3 データの登録

16.3 ●データベースプログラムの作成

16.3.1 接続文字列の作成

コラム 接続文字列の確認

コラム 接続文字列の構造

16.3.2 データベース操作の概要

データプロバイダーによるデータベースへのアクセス

SqlConnectionクラスによる接続

SqlCommandインスタンスへのSQL文の格納

SqlDataReaderインスタンスからのレコード取得

16.3.3 操作画面の作成

16.3.4 テーブルデータの全件表示

プログラムを実行する

16.3.5 指定したデータの抽出

指定したIdを抽出する

コラム 指定したデータの抽出

住所を指定して抽出する

コラム 指定した文字を含むデータを検索する――LIKEによるあいまい検索

コラム ListBoxのクリア

16.3.6 データ登録用フォームの作成

16.3.7 データ消去用フォームの作成

コラム データを登録する――INSERT INTO…VALUES

コラム 行単位でデータを削除する

16.4 ●データセットによるデータベースプログラムの作成

16.4.1 データセットを利用したデータベースプログラミング

データセットの仕組み

ADO.NETのクラス

データセットを作成する

データセットをフォームに登録する

16.4.2 プログラムのテスト

作成したプログラムを実行する

16.4.3 プログラムの改造

[データのロード]と[更新]ボタンを配置する

16.5 ●LINQを利用したデータベースアプリケーションの開発

16.5.1 LINQ to DataSetの作成

データセットの作成

LINQ to DataSetでデータベースのデータを抽出する

作成したプログラムを実行する

Chapter 17 マルチスレッドプログラミング

17.1 ●マルチスレッドプログラミング

17.1.1 CPUの動作

CPUの動作サイクル

コラム CPUとは

CPUの高速化技術

コラム CPUとクロック

17.1.2 CPUにおけるマルチタスク処理

ジョブ管理

タスク管理

コラム クロック倍率

コラム マルチコア

コラム タスクの状態の切り替え

コラム タスクスケジューリングの方法

17.1.3 スレッドの生成による処理の効率化

マルチタスクOSにおけるスレッドの生成

コラム マルチスレッドの利便性

17.2 ●Threadクラスを利用したスレッドの作成と実行

17.2.1 Threadクラスによる「スレッド」の生成と実行

マルチスレッドの基本、Threadクラスによる「スレッド」の生成

Threadクラスを使ってスレッドの

生成を行うプログラムを作成する①

Threadクラスを使ってスレッドの

生成を行うプログラムを作成する②

コラム スレッドの状態と推移

コラム ロック

Threadクラスを使ってスレッドの

生成を行うプログラムを作成する③

コラム シンプルなプログラムでスレッド処理を確認する

17.2.2 Sleepによるスレッドの交互操作

スレッドを交互に実行させる

コラム スレッドを交互に切り替えて処理する

17.2.3 別スレッドで実行中のメソッドへの引数渡し

別スレッドで実行中のメソッドへ引数を渡す

17.2.4 フォアグラウンドスレッドとバックグラウンドスレッド

フォアグラウンドスレッドとバックグラウンドスレッド

フォアグラウンドとバックグラウンドを

交互に実行するプログラムの作成

コラム フォアグラウンドスレッドとバックグラウンドスレッドの切り替え

17.2.5 スレッドが終了するまで待機させる

指定したスレッドが終了するまで待機させる

スレッドが終了するまで待機させるプログラムを作成する

17.2.6 スレッドの破棄

特定のスレッドを破棄する

17.2.7 Monitorクラスを使用した同期制御

同期制御が必要な理由

Monitorクラスを使用した同期制御

17.2.8 lockを利用した排他制御

lockを利用したプログラムを作成する

コラム lockステートメント

17.2.9 競合状態とデッドロック

競合状態の発生

デッドロック

コラム Monitorクラスのメンバー

17.3 ●ThreadPoolクラスとデリゲートによるマルチスレッドの実現

17.3.1 ThreadPool(スレッドプール)によるマルチスレッド

ThreadPoolクラスによるマルチスレッド

コラム WaitCallbackデリゲート

スレッドプールによる引数渡し

コラム コールバックメソッドに情報を渡す

コラム クリティカルセクション

コラム {0}の意味

17.3.2 非同期デリゲートによるマルチスレッド

非同期デリゲートを利用したプログラムを作成する

コラム 複数のスレッドに対して安全な「スレッドセーフ」

コラム Monitorクラス

17.4 ●Parallelクラスでサポートされたマルチスレッド

17.4.1 Parallel.Invoke()メソッド

Parallel.Invoke()メソッドを使ってマルチスレッドを実行する

コラム var型

Parallelクラス

コラム スレッドの優先順位

17.4.2 foreachステートメントのParallel.ForEach()メソッドへの置き換え

foreachステートメントをパラレルで実行する

コラム forステートメントをパラレル処理する

17.4.3 スレッドの進捗状況の表示

スレッドの進捗状況を表示するプログラムを作成する

17.4.4 スレッドの中止

スレッドを途中で中止できるプログラムを作成する

Chapter 18 WPFアプリケーションの作成

18.1 ●WPFアプリケーションの概要

18.1.1 WPFアプリケーションの特徴

コラム ラスターグラフィックスとベクターグラフィックスの違い

18.1.2 WPFにおけるプログラミング

18.1.3 WPFにおけるUI部品

18.2 ●WPFアプリケーションの作成

18.2.1 WPFアプリケーション用プロジェクトの作成

18.2.2 コントロールの位置

コラム 表示倍率の設定

コラム 名前空間の指定

18.3 ●マークアップ拡張によるデータバインディング

18.3.1 マークアップ拡張によるデータバインディング

Sliderコントロールの値をTextBoxに表示する

18.3.2 プログラム側からの制御

匿名型

Buttonのイベントハンドラーを利用したバインディング

コラム SQLの基本的な書き方

Chapter 19 ASP.NETによるWebアプリケーション開発

19.1 ●ASP.NETによるWebアプリケーション開発の概要

19.1.1 Webアプリケーションの概要

サーバーサイドのWebアプリケーションについて確認する

コラム IISのインストール

Visual Studio Express 2013 for Webを入手する

19.1.2 Visual C#におけるWebアプリケーションの開発

Webフォーム用のファイルとコードモジュール用のファイル

Webフォームコントロール

コラム Visual Studio 2013 Express for Webの起動時のサインイン

19.2 ●ASP.NETを利用したアプリケーションの作成

19.2.1 Webアプリケーション用サイトの開発

Webサイトを作成する

19.2.2 Webアプリケーションの作成

デザインビューを表示できるようにする

Webフォームを作成する

Webフォーム上にコントロールを配置する

イベントハンドラーで実行するコードを記述する

コラム Visual Studio 2013 Express for WebのWebフォームデザイナー

作成したWebアプリケーションの動作を確認する

19.3 ●ASP.NETを利用したデータアクセスページの作成

19.3.1 データベース連動型Webアプリ作成―ASP.NETとADO.NETの連携

Webサイトを作成する

データ接続の作成

データソースとグリッドビューを作成する

19.3.2 グリッドビューの設定

グリッドビューのデザインを設定する

グリッドビューの機能を設定する

19.3.3 Webアプリケーションの動作確認

作成したWebアプリケーションの動作を確認する

Chspter 20 Visual Studio Express 2013 for Windows

によるWindowsストアアプリの開発

20.1 ●Windowsストアアプリの概要

20.1.1 Visual Studio Express 2013 for Windowsのダウンロードとセットアップ

VS Express 2013 for Windowsのシステム要件

VS Express 2013 for Windowsのダウンロードとセットアップ

20.1.2 Windowsストアアプリの開発環境

Windowsストアアプリ用に作成する実行関連ファイル

Windowsストアアプリの開発に利用できる開発言語

20.1.3 XAMLの基礎

XAMLによるコントロールの配置

XAML要素のコンテンツ

XAMLドキュメントの構造

XAML要素とイベントハンドラーとの連携

20.2 ●ストアアプリ用プロジェクトの作成およびストアアプリの実行

20.2.1 Windowsストアアプリケーション用プロジェクトの作成

20.2.2 メッセージを表示するプログラムの作成①

ButtonとTextBlockを配置する

プロパティを設定する

メッセージを表示するイベントハンドラーを作成する

プログラムを実行する

コラム シミュレーターを利用したプログラムの実行

コラム XAMLのコードを記述してコントロールを配置する

コラム 画面の分割を解除する

20.2.3 メッセージを表示するプログラムの作成②

Buttonを配置してイベントハンドラーを作成する

コラム Windowsストアアプリのアンインストール

コラム asyncとawaitによる非同期処理

20.3 ●画面のレイアウトと各種のコントロールの利用

20.3.1 コントロールを横に並べる

Buttonを横に並べる

コラム Gridの表示位置の指定

20.3.2 コントロールを格子状に並べる

Buttonを格子状に並べる

コラム ビューの切り替え

20.3.3 CheckBoxとRadioButtonの利用

CheckBoxを使う

コラム [プロパティパネル]で表示位置とサイズを設定する

20.4 ●画像ファイルの表示

20.4.1 Imageコントロールを利用した画像表示

イメージファイルの用意

イメージファイルの表示方法

プロジェクト内のイメージをVisual C#のコードで表示する

イベントに対応してイメージファイルを表示するプログラムの作成

コラム Imageコントロールで表示可能なファイル形式

コラム Microsoft社のサイトからフリーの素材を入手する

20.4.2 ダイアログを利用した画像の表示

ファイル選択ダイアログを利用してイメージファイルを表示する

20.5 ●Webページの表示

20.5.1 Webブラウザーの作成

Webページの表示方法を確認する

簡易ブラウザーを作成する

コラム 背景メージの設定

コラム スプラッシュスクリーンやタイルの設定

Appendix 資料

Appendix1 ●メソッド、プロパティ、イベント

app.1.1 文字列の操作に関するメソッド

app.1.2 日付/時刻の操作に関するメソッドおよびプロパティ

app.1.3 データ型の変換を行うメソッド

app.1.4 数値の演算を行うメソッド

app.1.5 ファイル/ディレクトリの操作を行うメソッド

app.1.6 Formオブジェクト(System.Windows.Forms名前空間)の

プロパティ、メソッド、イベント

app.1.7 コントロールに共通するプロパティ、メソッド、イベント

app.1.8 各オブジェクトに対する接頭辞(プリフィックス)

PR

秀和システム