VisualC# 2010 パーフェクトマスター

概 要

「VisualC# 2010」の基本操作から便利なテクニックまで完全解説したガイドブックです。VisualC#は、C/C++言語の流れを汲むオブジェクト指向型のプログラミング言語です。本書では、VisualC# 2010の基盤技術であるMicrosoft.NETの概要から、VisualC# 2010のインストール、基本操作と応用テクニックを実際のWindowsアプリケーションを作成しながら丁寧に解説しているので、プログラミングが初めての方でも最後まで読み通すことができます。サンプルプログラムを参考に、実際にプログラムを作成し、Windowsフォームやコントロール、データの扱い方、選択ステートメントや繰り返しステートメント、クラス構造、イベントハンドラーまで幅広くわかります。サンプルプログラムのダウンロードサービス付き。

著者 金城俊哉
価格 本体3000円(税別)
ISBN 978-4-7980-3147-7
発売日 2011/11/19
判型 B5変
色数 4色
ページ数 930
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対応の開発ツール

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

.NET Framework SDKの内容を確認する

C#の特徴を確認する

1.3 VisualC#2010 Expressのセットアップ

1.3.1 VisualC#2010 Expressに必要な環境

VisualC#2010を使うためのシステム要件

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

1.3.2 VisualC#2010 Expressのインストール

VisualC#2010 Expressをダウンロードする

VisualC#2010 Expressをインストールする

1.3.3 VisualC#の起動と終了

VisualC#を起動する

VisualC#を終了する

コラム VisualC#2010 Expressのスタートページ

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

コラム .NET Frameworkの進化

1.4 VisualC#によるアプリケーション開発

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

1.4.2 VisualC#におけるプログラムの管理形態(プロジェクトとソリューション)

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

1.5.1 プロジェクトの作成

プロジェクトを作成する

プロジェクトを保存する

プロジェクトを閉じる

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

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

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

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

1.6 VisualC#の操作画面

1.6.1 VisualC#の操作画面(ドキュメントウィンドウ)

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

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

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

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

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

メニューの表示を上級者用に変更する

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

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

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

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

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

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

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

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

クラスビューを表示する

データベースエクスプローラーを表示する

タスク一覧ウィンドウを表示する

コラム データベースエクスプローラーの機能

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

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

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

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

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

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

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

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

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

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

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

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

1.7 ヘルプとダイナミックヘルプの活用

1.7.1 ダイナミックヘルプの活用

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

1.7.2 ヘルプの活用

キーワードを使って項目を検索する(VisualC#2010の場合)

キーワードを使って項目を検索する(VisualC#2005/2008の場合)

コラム ダイナミックヘルプの機能(VisualC#2005/2008)

コラム ヘルプの設定

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

目次を使って調べる(VisualC#2005/2008の場合)

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

Chapter 2 VisualC#によるアプリケーション開発の基礎

2.1 Windowsアプリケーションの開発

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

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

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

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

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

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

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

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

コントロールを配置する

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

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

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

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

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

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

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

プログラムを実行する

2.1.3 文字列の操作

文字列を途中で改行する

コラム ビルド

複数の文字列を連結する

コラム 文字列の改行

コラム +演算子

2.2 フォームの操作

2.2.1 フォームの名前を変更する

フォームの名前を変更する

フォームのファイル名を変更する

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

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

2.2.2 フォームの外観の設定

フォームのサイズを変更する

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

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

コラム Collar構造体

コラム 色の指定

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

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

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

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

フォームを半透明にする

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

コラム [Font]プロパティ

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

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

コントロールを移動する

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

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

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

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

コラム 整列用のボタン

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

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

コラム [書式]メニューを利用してサイズを揃える

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

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

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

コラム [書式]メニューを利用してコントロールの間隔を揃える

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

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

グループボックスを利用して複数のコントロールを配置する

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

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

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

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

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

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

コラム [ImeMode]プロパティ

ツールヒントを表示する

アクセスキーを設定する

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

2.3.5 メニューの配置

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

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

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

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

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

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

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

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

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

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

2.3.6 ツールバーの配置

ツールバーを配置する

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

Q&A

Chapter3 VisualC#におけるプログラムの構造

3.1 コンソールアプリケーションにおけるプログラムの構造

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

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

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

コラム コメントの記述

コラム 名前空間の特徴

コラム 名前空間とクラス

コラム VisualC#のキーワード

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

3.2 Windowsアプリケーションにおけるプログラムの構造

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

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

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

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

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

コラム 「#region」

3.2.2 プログラム実行の流れ

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

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

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

コラム デストラクター

Q&A

Chapter 4 データを用いた演算

4.1 VisualC#におけるデータ構造

4.1.1 CTS(共通型システム)

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

4.1.2 VisualC#におけるデータ型

値型の特徴を確認する

コラム 値型のメモリ管理

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

コラム スタックとヒープ

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

コラム ヒープの使い方

コラム インスタンス

参照型の特徴を確認する

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

4.2 変数の役割

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

変数の役割を確認する

変数を宣言する

変数に値を代入する

コラム データ型

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

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

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

コラム プロパティ

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

コラム メンバーとは

フィールド変数の宣言を行う

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

ローカル変数を参照する

フィールド変数を参照する

4.3 定数の役割

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

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

定数の種類を確認する

ローカル定数を宣言する

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

コラム 定数名の付け方

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

4.4 演算子による演算

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

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

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

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

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

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

コラム カッコの使い方

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

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

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

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

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

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

文字列を比較する

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

コラム イベント

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

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

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

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

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

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 名前空間の定義

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

名前空間を定義する

4.6.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」ステートメントを利用したプログラムを作成する

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

Q&A

Chapter 6 組み込み型とユーザー定義型

6.1 組み込み型に属するデータ型

6.1.1 値型に属する組み込み型1

整数型に属するデータ型を確認する

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

コラム リテラル

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

コラム パフォーマンスに優れたint型

コラム long型同士の演算

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

6.1.2 値型に属する組み込み型2

浮動小数点数型に属するデータ型を確認する

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

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

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

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

6.1.3 値型に属する組み込み型3

10進数型について確認する

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

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

6.1.4 論理リテラル(trueとfalse)を扱うデータ型

論理型について確認する

6.1.5 値型に属する組み込み型4

文字型について確認する

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

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

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

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

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

6.1.6 参照型に属する組み込み型1

オブジェクト型について確認する

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

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

6.1.7 参照型に属する組み込み型2

文字列型について確認する

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

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

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

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

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

6.2 ユーザー定義型に属するデータ型

6.2.1 値型に属するユーザー定義型1

構造体の特徴を確認する

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

構造体を定義する

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

コラム 構造体は値型

6.2.2 値型に属するユーザー定義型2

列挙体を定義する

列挙体を使ったプログラムを作成する

6.2.3 値型に属するユーザー定義型3

配列を使うメリットを確認する

1次元配列を宣言する

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

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

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

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

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

2次元配列を宣言する

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

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

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

「ArrayListクラス」を利用したプログラムを作成する

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

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

Q&A

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

7.1 オブジェクト指向プログラミングの概要

7.1.1 オブジェクト指向プログラミングの概念

オブジェクト指向プログラミングの概念を確認する

7.1.2 クラスを構成する要素

クラスを構成する要素を確認する

コラム クラスの有用性

7.2 クラスの作成

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

空のクラスを作成する

コラム クラス名の付け方

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

クラスの機能を決定する

7.2.2 フィールドの作成

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

フィールドを定義する

7.2.3 プロパティの作成

プロパティの機能を確認する

プロパティを追加する

コラム プロパティの参照

7.2.4 メソッドの作成

メソッドの使用方法を確認する

メソッドを追加する

コラム プロパティの設定

コラム returnステートメント

7.2.5 作成したクラスの確認

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

7.2.6 操作画面の作成

操作画面を作成する

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

7.2.7 プログラムの動作確認

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

7.2.8 コンストラクターの作成

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

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

7.2.9 自動実装プロパティ

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

コラム 自動実装プロパティのアクセス制御

7.2.10 スタティックメンバー変数とスタティックフィールド

インスタンスメンバー変数とスタティックフィールド

スタティックメソッド

コラム staticなクラス

コラム デストラクター

7.3 継承

7.3.1 継承の仕組み

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

7.3.2 継承を実装する―基本クラスと派生クラスの作成

基本クラスを確認する

派生クラスを作成する

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

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

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

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

プログラムを実行する

7.4 オーバーライド

7.4.1 オーバーライド可能なプロパティとメソッドの準備

作成するプログラムの内容を確認する

基本クラスを作成する

コラム クラスのメンバー

基本クラスのプロパティやメソッドをオーバーライド可能にする

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

派生クラスの作成

プロパティをオーバーライドする

メソッドをオーバーライドする

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

Windowsフォームを作成する

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

プログラムを実行する

7.5 ポリモーフィズム

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

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

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

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

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

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

Windowsフォームを作成する

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

プログラムを実行する

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

7.6.1 インターフェースの定義と実装

インターフェースの定義方法を見る

クラスにおけるインターフェースの実装方法を見る

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

インターフェースを定義する

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

インターフェースへアクセスするコードを記述する

インターフェース実装後のコードを確認する

7.7 インデクサー

7.7.1 インデクサーの特徴

インデクサーの構造と定義

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

コラム インデクサーが扱えるループ処理

コラム Valueキーワード

7.7.2 インデクサーとプロパティの相違点

インデクサーとプロパティの違いを検証する

インデクサーとプロパティの違い(MSDNから抜粋)

コラム インデクサーとプロパティを使うメリット

7.7.3 インデクサーを使いこなす

読み取りだけを行うインデクサー

配列の一部の値をインデクサーでかきか

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

7.8 デリゲート

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

デリゲートの特徴

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

デリゲートを使ってみる

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

7.8.2 デリゲートを活用する

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

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

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

スタティックメソッドへの処理の委譲

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

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

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

7.8.3 デリゲートを活用する(応用編)

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

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

プログラムの検証

コラム スレッドプール

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

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

Chapter 8 Windowsアプリケーションの開発

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

コラム データ型の変換

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

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

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

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

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

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

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

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

8.1.5 リストボックスの利用

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

選択した項目を取得する

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

コラム ToStringメソッド

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

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

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

コラム SelectedItemプロパティ

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

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

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

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

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

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

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

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

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

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

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

コラム 「MessageBoxButtons」列挙型

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

コラム ボタンの戻り値

8.2.3 メニューの利用

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

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

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

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

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

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

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

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

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

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

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

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

コラム Timerコンポーネント

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

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

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

Chapter 9 ファイル操作と印刷

9.1 ファイルの入出力処理

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

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

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

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

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

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

ダイアログボックスを使ってファイルを保存するための処理を記述する

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

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

ダイアログボックスを使ってファイルを開くための処理を記述する

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

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

9.2 印刷機能の追加

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

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

コラム 2つのフィールドの宣言

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

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

エラー処理を追加する

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

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

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

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

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

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

コラム 印刷イメージをより正確に表示する

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

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

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

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

親フォームを作成する

子ウィンドウを作成する

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

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

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

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

コラム 子フォームの表示

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

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

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

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

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

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

Q&A

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

10.1 例外処理

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

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

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

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

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

Finallyブロックを使う

10.1.3 エラー内容の取得

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

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

10.2 デバッグ

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

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

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

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

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

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

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

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

中断している箇所までのステートメントに含まれる変数の値を確認する

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

11.1 VisualC#アプリケーションの実行可能ファイルの作成

11.1.1 アセンブリとビルド

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

ビルドについて確認する

コラム VisualStudio2010のダウンロードページ

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

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

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

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

11.2.1 ビルドの準備

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

コラム 各種情報の表示

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

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

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

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

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

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

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

12.1 ADO.NETの概要

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

ADO.NETの使い方を見る

12.1.2 データベースの基礎

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

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

12.2 SQL Server2008の概要

12.2.1 データベースアプリケーションの開発環境

本書で利用するデータベース管理システムを確認する

SQL Server2008 Expressを使うメリットを確認する

SQL Server2008/2008 R2の概要を確認する

SQL Server2008 R2 Expressにおけるシステム要件を確認する

SQL Server2008の各エディションについて確認する

SQL Server2008 R2 Expressを入手する

SQL Server2008 R2 Expressを入手するには

コラム 無償で利用できるExpress版の種類

コラム 「Microsoft SQL Server2008 R2-Express」のテキストに設定されているリンク

コラム ダウンロード用のファイルの種類

コラム Visual Web Developerを利用した簡単インストール

12.3 データベースの作成

12.3.1 データベースの作成

VisualC#を使ってデータベースファイルを作成する

データベースファイルをプロジェクトと共に保存する

コラム 保存されるデータベース用のファイル

12.3.2 テーブルの作成

テーブルを作成してフィールドを設定する

コラム 主キー

テーブルを保存する

12.3.3 サンプルデータの入力

VisualC#のIDEを使ってデータを入力する

作成したテーブルを参照する

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

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

データセットの仕組みを見る

データセットを作成する

コラム データセットを新規に作成するには

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

12.4.2 プログラムのテスト

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

12.4.3 プログラムの改造

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

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

12.5.1 LINQ to DataSetの作成

データセットの作成

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

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

コラム ASP.NETの最大の特徴

コラム Visual C#とJavaの違い

コラム ASP.NET4における新機能

Q&A

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

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

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

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

コラム IISのインストール

13.1.2 Visual Web Developer 2010 Expressについて

Visual Web Developer 2010 Expressを入手する

Visual Web Developer 2010 Expressの特徴

13.1.3 VisualC#2010におけるWebアプリケーションの開発

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

Webフォームコントロール

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

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

Webサイトを作成する

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

Webフォームを作成する

コラム Visual Web Developer 2010 ExpressのWebフォームデザイナー

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

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

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

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

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

Webサイトを作成する

データ接続の作成

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

13.3.2 グリッドビューの設定

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

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

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

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

コラム デリゲート

Q&A

Chapter 14 アドバンスドプログラミング

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

14.1.1 CPUの動作

CPUの動作サイクル

コラム CPUとは

CPUの高速化技術

コラム CPUとクロック

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

ジョブ管理

タスク管理

コラム クロック倍率

コラム マルチコア

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

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

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

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

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

14.2 Threadクラスを使用したスレッドの作成と実行

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

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

Threadクラスを使ってスレッドの生成を行うプログラムを作成する①

Threadクラスを使ってスレッドの生成を行うプログラムを作成する②

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

コラム ロック

Threadクラスを使ってスレッドの生成を行うプログラムを作成する③

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

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

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

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

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

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

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

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

フォアグラウンドとバックグラウンドを交互に実行するプログラムの作成

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

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

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

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

14.2.6 スレッドの破棄

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

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

同期制御が必要な理由

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

14.2.8 lockを利用した排他制御

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

コラム lockステートメント

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

競合状態の発生

デッドロック

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

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

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

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

コラム WaitCallbackデリゲート

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

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

コラム {0}の意味

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

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

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

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

コラム Monitorクラス

14.4 VisualC#2010でサポートされたマルチスレッド

14.4.1 Parallel.Invike()メソッド

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

コラム var型

Parallelクラス

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

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

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

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

14.4.3 Foamアプリケーションにおけるマルチスレッド化

BackgroundWorkerを使用したマルチスレッド化

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

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

14.4.5 スレッドの中止

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

14.5 ジェネリック

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

ArrayListクラスとキャストに潜む罠

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

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

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

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

コラム インデクサーの効用

ジェネリックのポイント

14.5.3 ジェネリックメソッド

通常のメソッドとジェネリックを実装したメソッドを比較する

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

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

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

14.6 イテレーター

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

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

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

Q&A

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 各オブジェクトに対する接頭辞(プリフィックス)

Appendix2 用語集

PR

秀和システム