.NET Framework Version 2.0 の新機能

更新 : 2007 年 11 月

Microsoft .NET Framework Version 2.0 では、.NET Framework Version 1.1 を基に新機能が追加され、既存の機能が強化されると共に、ドキュメントの充実が図られています。ここでは、主な追加機能と変更点について説明します。

アプリケーションに影響する可能性がある、互換性に影響する変更点の詳細については、「Breaking Changes in the .NET Framework」を参照してください。

64 ビット プラットフォームのサポート

新世代の 64 ビット コンピュータにより、32 ビット アプリケーションで使用できるメモリよりも多くのメモリを利用し、より高速で実行できるアプリケーションの作成が可能になります。64 ビット アプリケーションの新たなサポートにより、ユーザーは 64 ビット コンピュータにマネージ コード ライブラリを構築でき、アンマネージ コード ライブラリも容易に使用できるようになります。詳細については、「64 ビット アプリケーション」を参照してください。

アクセス制御リストのサポート

アクセス制御リスト (ACL: Access Control List) は、コンピュータ上のリソースにアクセスするためのアクセス許可を付与したり、失効したりするために使用されます。マネージ コードで ACL の作成と変更を行うことができる新しいクラスが .NET Framework に追加されました。ACL を使用するメンバが、I/O、レジストリ、スレッド処理の各クラスに新たに追加されました。

ADO.NET

ADO.NET の新機能として、ユーザー定義型 (UDT: User-Defined Type)、非同期データベース操作、XML データ型、大きな値型、スナップショットの分離がサポートされます。さらに、アプリケーションが SQL Server 2005 で複数のアクティブな結果セット (MARS: Multiple Active Result Sets) を使用できるようにする新しい属性もサポートされます。ADO.NET のこれらの機能と他の新機能の詳細については、「ADO.NET の新機能」を参照してください。

ASP.NET

Microsoft .NET Framework 2.0 では、ASP.NET のすべての領域が大幅に強化されています。Web ページ開発者向けの新しいコントロールにより、共通で使用する機能を動的 Web ページに容易に追加できるようになりました。新しいデータ コントロールを使用すると、コードを記述せずに ASP.NET Web ページでデータの表示と編集を行うことができます。分離コード モデルが強化されたことにより、ASP.NET ページの開発が容易になり、これまで以上に堅牢なページを作成できます。SQL Server データベース内のテーブルにキャッシュ依存関係を構築する機能など、キャッシュ機能にはページをキャッシュする新しい方法がいくつか用意されています。

さまざまな方法で Web サイトとページをカスタマイズできるようになりました。プロファイル プロパティにより、ASP.NET で個々のユーザーのプロパティ値を自動的に追跡できます。Web パーツを使用すると、ユーザーがブラウザでカスタマイズできるページを作成できます。簡単なコントロールを使用して、ナビゲーション メニューを追加できます。

Web サイトの機能が強化されたことにより、プロフェッショナルな Web サイトを迅速かつ容易に作成できます。マスタ ページにより、サイトのすべてのページで使用する一貫性のあるレイアウトを作成できます。また、テーマを使用すると、コントロールや静的テキストの一貫性のある外観を定義できます。サイトを保護するために、Web サイトをプリコンパイルして、ソース ファイル (コード ファイルと .aspx ページのマークアップの両方) から実行可能コードを生成できます。実行可能コードを生成したら、出力を運用サーバーに配置できます。この出力にはソース情報は含まれていません。ASP.NET の機能強化には、Web サイト開発者、サーバー管理者、およびホスト元が Web サイトを容易に管理できるようにする新しいツールとクラスも含まれています。

ASP.NET は、さまざまなブラウザとデバイスに対応しています。既定では、コントロールは XHTML 1.1 標準と互換性のある出力を表示します。デバイス フィルタを使用すると、同一のコントロールにブラウザごとに異なるプロパティ値を指定できます。

認証済みストリーム

アプリケーションは、認証用の新しいクラスである NegotiateStreamSslStream を使用することにより、クライアントとサーバー間でセキュリティで保護された情報を送信できます。これらの認証済みストリーム クラスは、相互認証、データの暗号化、およびデータ署名をサポートしています。NegotiateStream クラスは、認証に Negotiate セキュリティ プロトコルを使用します。SslStream クラスは、認証に SSL (Secure Socket Layer) セキュリティ プロトコルを使用します。

COM 相互運用サービスの機能強化

COM との相互運用性をサポートするクラスとツールへの主な機能強化は次の 4 つです。

  • オペレーティング システムは、制限された数のハンドルを保持します。これらのハンドルは、重大なオペレーティング システム リソースを参照するために使用されます。新しい SafeHandle クラスと CriticalHandle クラス、およびこれらのクラスから特化した派生クラスには、オペレーティング システム ハンドルを操作する安全で信頼性の高い方法が用意されています。

  • マーシャリングが強化され、ネイティブ コードとの相互運用が容易になりました。相互運用マーシャラでは、ユーザーからの要望が最も多い 2 つの機能が追加されています。ネイティブ関数ポインタをデリゲートにラップする機能と、構造体内部で構造体の固定サイズの配列をマーシャリングする機能です。

  • 一般的な呼び出しの種類について、異なるアプリケーション ドメインにおけるアプリケーション間の呼び出しのパフォーマンスが大幅に高速化されました。

  • タイプ ライブラリ インポータ (Tlbimp.exe)タイプ ライブラリ エクスポータ (Tlbexp.exe) の新しいスイッチにより、タイプ ライブラリの参照を解決する際の、レジストリへの依存をなくすことができます。この機能強化は、堅牢なビルド環境を構築するうえで重要です。

Console クラスの追加機能

Console クラスの新しいメンバを使用すると、アプリケーションでコンソール ウィンドウと画面バッファのサイズを操作できます。画面バッファの四角形領域の移動は、単純なアニメーションを円滑に実行するうえで役立ちます。また、コンソール入力の読み取り時に、キーが押されるまで待機することもできます。他の新しいクラス メンバは、テキストの前景色と背景色、カーソルの表示状態とサイズ、コンソールのビープ音の周波数と長さを制御します。

データ保護 API

新しいデータ保護 API (DPAPI: Data Protection API) には、プラットフォーム呼び出しを行わずに、アプリケーションでパスワード、キー、接続文字列などを暗号化できる 4 つのメソッドが含まれています。Windows Server 2003 以降のオペレーティング システムを実行しているコンピュータのメモリ ブロックも暗号化できます。

デバッガの表示属性

アプリケーションのデバッグ中に、Visual Studio でクラスまたはメンバを表示する方法を制御できるようになりました。デバッガの表示属性機能を使用することにより、最も有用な情報を識別してデバッガに表示できます。

デバッガのエディット コンティニュのサポート

.NET Framework 2.0 には、エディット コンティニュ機能が再び導入されています。この機能を使用すると、Visual Studio でアプリケーションをデバッグするユーザーが、中断モードでの実行時にソース コードを変更できます。ソース コードの編集を適用したら、ユーザーはコードの実行を再開し、結果を確認できます。さらに、エディット コンティニュ機能は、Visual Studio でサポートされるすべてのプログラミング言語で使用できます。

ネットワーク接続の変更の検出

NetworkChange クラスを使用すると、アプリケーションは、ネットワーク インターフェイス (ネットワーク カードまたはネットワーク アダプタとも呼ばれます) のインターネット プロトコル (IP: Internet Protocol) アドレスが変更されたときに、通知を受け取ることができます。インターフェイス アドレスは、ネットワーク ケーブルの切断、ワイヤレス ローカル エリア ネットワークの範囲外への移動、ハードウェアのエラーなど、さまざまな理由で変更される可能性があります。NetworkChange クラスは、変更が検出された場合にイベントを発生させることにより、アドレス変更通知を提供します。

分散コンピューティング

System.Net 名前空間では、FTP クライアント要求、HTTP リソースのキャッシュ、プロキシの自動検出、およびネットワーク トラフィック情報と統計情報の取得のサポートが追加されました。現在、この名前空間には、HTTP 要求に応答するための簡単な Web サーバーの作成に使用できる Web サーバー クラス (HttpListener) が含まれています。アプリケーションのデバッグと診断に関するトレース情報を出力するために、ネットワーク トラフィックを生成するクラスがインストルメントされました。System.Net.Sockets.Socket クラスと System.Uri クラスでは、セキュリティとパフォーマンスが強化されています。

System.Web.Services 名前空間では、SOAP 1.2 と null 許容要素が新たにサポートされています。

System.Runtime.Remoting.Channels 名前空間では、チャネル セキュリティ機能が追加されました。TCP チャネルでは、負荷分散のサポートを強化する複数の新機能と共に、認証と暗号化もサポートされるようになりました。

EventLog の機能強化

EventLog のメッセージ、パラメータ、カテゴリに対してカスタム DLL を使用できるようになりました。

拡張された証明書管理

.NET Framework は、X.509 証明書のストア、チェーン、および拡張機能を新たにサポートしています。また、プラットフォーム呼び出しを使用せずに、X.509 証明書を使用して XML の署名と検査を行うことができます。さらに、PKCS7 形式の署名と暗号化、および CMS (Microsoft Windows 2000 以降のオペレーティング システムで使用できる PKCS7 標準のスーパーセット) もサポートされています。PKCS7 は、データの署名と暗号化のための S/MIME (Secure/Multipurpose Internet Mail Extensions) で使用される元になる形式です。詳細については、X509Certificate2 クラスを参照してください。

FTP のサポート

アプリケーションは、WebRequestWebResponse、および WebClient の各クラスを使用して、ファイル転送プロトコル リソースにアクセスできるようになりました。

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

.NET Framework 2.0 には、再利用可能な柔軟性のあるコードを作成できるジェネリックが導入されています。総称してジェネリックと呼ばれるこの言語機能は、クラス、構造体、インターフェイス、メソッド、デリゲートを宣言し、パラメータを指定せずに定義したり、特定の型の代わりにジェネリック型パラメータを指定して定義したりできるテンプレートとして機能します。実際の型は、ジェネリックの使用時に後で指定されます。System NamespaceSystem.Collections.Generic など、複数の名前空間にジェネリック クラスとジェネリック メソッドが用意されています。新しい System.Collections.Generic 名前空間は、厳密に型指定されたコレクションをサポートしています。ジェネリックは、Visual Basic、C#、および C++ の 3 つの言語でサポートされています。

リフレクションが拡張され、ジェネリック型とジェネリック メソッドの実行時のチェックと操作が可能になりました。System.TypeSystem.Reflection.MethodInfo には、新しいメンバが追加されています。ジェネリック型を識別する IsGenericType (例 : class Gen<T,U> {...})、型パラメータ リストを取得する GetGenericArguments、特定の型を作成する MakeGenericType (例 : new Gen<int, long>()) などです。

グローバリゼーション

新たに追加された 5 つのグローバリゼーション機能により、さまざまな言語とカルチャを対象としたアプリケーション開発のサポートが強化されています。

  • カスタム カルチャのサポートにより、カルチャ関連の情報を必要に応じて定義および配置できます。この機能は、既存のカルチャ定義の小規模なカスタマイズを行う場合や、.NET Framework に存在しないカルチャ定義を作成する場合に役立ちます。詳細については、CultureAndRegionInfoBuilder クラスを参照してください。

  • エンコーディング操作とデコード操作では、ディスクや通信ラインなどの物理メディアに転送できるバイト ストリームと Unicode 文字との間で割り当てを行います。割り当て操作を完了できない場合は、System.Text 名前空間の複数のクラスでサポートされている、エンコーディングとデコードの新しいフォールバック機能を使用して補正できます。

  • UTF-8 エンコーディングを実装する UTF8Encoding クラスのメンバは、以前のリリースよりも処理速度が数倍速くなりました。UTF-8 は、コンピュータ上で Unicode 文字をバイトに変換する際に使用する最も一般的なエンコーディングです。

  • .NET Framework は、Unicode Consortium で定義された最新の正規化標準を新たにサポートしています。正規化処理では、テキストの文字表現を標準形式に変換し、その表現の等価性について比較できるようにします。

  • GetCultureInfo メソッド オーバーロードは、読み取り専用の CultureInfo オブジェクトのキャッシュ バージョンを提供します。新しい CultureInfo オブジェクトの作成時にキャッシュ バージョンを使用することにより、システム パフォーマンスを向上させ、メモリ使用量を減らすことができます。

I/O の機能強化

さまざまな I/O クラスの使用可能性と機能が強化されました。ユーザーは、テキスト ファイルの読み取りと書き込みや、ドライブに関する情報の取得を容易に行うことができます。

System.IO.Compression 名前空間のクラスを使用して、IETF RFC 1951 および RFC 1952 の各仕様に記載されている GZIP 圧縮/圧縮解除規格でデータの読み取りと書き込みを行うことができるようになりました。これらの仕様は、「IETF Request for Comments (RFC)」検索ページにあります。検索できるのは RFC 番号のみなので注意してください。

マニフェスト ベースのアクティベーション

この機能により、マニフェストを使用したアプリケーションの読み込みとアクティブ化が新たにサポートされます。マニフェスト ベースのアクティベーションは、ClickOnce アプリケーションのサポートには不可欠です。従来のアプリケーションは、アプリケーションのエントリ ポイントを格納するアセンブリへの参照を通じてアクティブ化されていました。たとえば、Windows シェル内からアプリケーションの .exe ファイルをクリックすると、シェルによって共通言語ランタイム (CLR: Common Language Runtime) が読み込まれ、その .exe ファイルのアセンブリ内の既知のエントリ ポイントが呼び出されます。

マニフェスト ベースのアクティベーション モデルでは、アセンブリではなく、アクティベーション用のアプリケーション マニフェストを使用します。マニフェストには、アプリケーション、依存関係、セキュリティ要件などについてすべて記述されています。特に Web アプリケーションの場合、マニフェスト モデルは、アセンブリ ベースのアクティベーション モデルよりも優れた点がいくつかあります。たとえば、マニフェストにはアプリケーションのセキュリティ要件が含まれるため、ユーザーは、コードをダウンロードする前にアプリケーションを実行できるようにするかどうかを決定できます。また、マニフェストには、アプリケーションの依存関係に関する情報も含まれます。

マニフェスト ベースのアクティベーションは、マニフェストで示されたアプリケーションとアドインをマネージ ホストがアクティブ化できるようにするための API のセットによって提供されます。これらの API には、新しいクラスと既存のクラスへの拡張機能が混在しています。

このアクティベーション モデルは、次のタスクを実行する信頼マネージャと呼ばれるエンティティも呼び出します。

  1. アプリケーションをアクティブにできるかどうかを決定します。この決定は、ユーザーへのプロンプト、ポリシーの照会、または特定の信頼マネージャに適していると見なされた他の方法によって行うことができます。

  2. アプリケーションを実行するセキュリティ コンテキストを設定します。ほとんどの場合、この手順には、アプリケーションを実行するアプリケーション ドメインの、コード アクセス セキュリティ (CAS: Code Access Security) ポリシー ツリーの設定が含まれます。

.NET Framework リモート処理

.NET Framework リモート処理では、IPv6 アドレスのサポートとジェネリック型の変換が新たにサポートされています。System.Runtime.Remoting.Channels.Tcp 名前空間のクラスは、セキュリティ サポート プロバイダ インターフェイス (SSPI: Security Support Provider Interface) を使用した認証と暗号化をサポートしています。新しい System.Runtime.Remoting.Channels.Ipc 名前空間のクラスを使用すると、同じコンピュータ上のアプリケーションがネットワークを使用せずにすばやく通信できます。また、接続のキャッシュ タイムアウトとメソッドの再試行の回数も設定できるようになりました。これにより、ネットワーク負荷分散されたリモート クラスタのパフォーマンスを向上させることができます。

ローカル コンピュータのネットワーク構成と使用状況に関する情報の取得

System.Net.NetworkInformation 名前空間のクラスを使用すると、アプリケーションは IP、IPv4、IPv6、TCP、および UDP のネットワーク トラフィック統計情報にアクセスできます。また、ローカル コンピュータのネットワーク アダプタのアドレスと構成情報を表示することもできます。この情報は、Ipconfig.exe コマンド ライン ツールによって返される情報と同様です。

Ping

Ping クラスを使用すると、アプリケーションはリモート コンピュータがネットワーク上でアクセス可能かどうかを判断できます。このクラスには、Ping.exe コマンド ライン ツールと同様の機能が用意されており、同期呼び出しと非同期呼び出しをサポートしています。

アプリケーション内からの HTTP 要求の処理

HttpListener クラスを使用すると、HTTP 要求に応答する簡単な Web サーバーを作成できます。Web サーバーは、HttpListener オブジェクトの有効期間中はアクティブになっており、アプリケーションのアクセス許可を使用してアプリケーション内で実行されます。このクラスは、Windows XP Service Pack 2 または Windows Server 2003 オペレーティング システムを実行しているコンピュータでのみ使用できます。

プログラムによるキャッシュの制御

System.Net.Cache 名前空間のクラスを使用すると、アプリケーションは、WebRequestWebResponseWebClient の各クラスを使用して取得したリソースのキャッシュを制御できます。.NET Framework に用意された定義済みキャッシュ ポリシーを使用することも、カスタムのキャッシュ ポリシーを指定することもできます。キャッシュ ポリシーは各要求に対して指定できます。キャッシュ ポリシーを指定しない要求には、既定のキャッシュ ポリシーを定義することもできます。

プログラミング言語

Microsoft の 4 つのプログラミング言語、Visual C#、Microsoft C/C++、Visual J#、および Visual Basic は、.NET Framework を明示的に対象としています。

Visual Basic のコンパイラと言語

Visual Basic の言語が改良された結果、ソース コードが簡略化されました。また、高度な機能を使用するコンポーネントと対話できるようになりました。

コンパイラ

Visual Basic では、すべてのプロパティに対して、条件付きコンパイル定数 VBC_VER が新たに導入されています。このバージョンには、VBC_VER 8.0 の値が含まれています。

現在、Visual Basic コマンド ライン コンパイラは、コマンド ライン コンパイラ (Vbc.exe) と同じディレクトリにある Vbc.rsp ファイルに既定のコマンド ライン オプションを格納しています。Vbc.rsp を編集することにより、既定のコマンド ライン オプションを再構成できます。

次のコマンド ライン コンパイラ オプションが新たに追加されました。

  • /doc オプションを指定すると、コード内のコメントに基づいて XML ドキュメント ファイルが生成されます。

  • /noconfig オプションを指定すると、コンパイラは Vbc.rsp ファイルを無視します。

  • /codepage オプションは、ソース ファイルを開くときに使用するコードページを指定します。

  • /filealign オプションは、出力ファイル内のセクションのサイズを指定します。

  • /nostdlib (Visual Basic) オプションを指定すると、コンパイラは標準のライブラリを参照しなくなります。

詳細については、「Visual Basic コンパイラ オプション」を参照してください。

言語

Visual Basic 言語のこのバージョンには、次の 16 の要素が新たに追加されています。

セキュリティ例外

System.Security.SecurityException クラスが拡張され、セキュリティ例外の原因の究明を容易にする追加データが提供されています。新しいプロパティが提供する情報には、例外が発生したメソッド、失敗した最初のアクセス許可、アセンブリのゾーンまたは URL、失敗したセキュリティ アクション、例外の原因となった呼び出し履歴のセキュリティ アクション (Deny、PermitOnly など) が含まれます。

シリアル I/O デバイスのサポート

新しい SerialPort クラスにより、アプリケーションからコンピュータのシリアル ポートにアクセスし、シリアル I/O デバイスと通信することができます。

シリアル化

BinaryFormatter クラスと SoapFormatter クラスでは、バージョン間の耐性があるシリアル化がサポートされるようになりました。これにより、型を異なるバージョンのシリアル化から逆シリアル化できます。詳細については、「バージョン トレラントなシリアル化」を参照してください。

XML シリアル化では、スキーマ要素を表すフィールドに代わるプロパティの使用、ジェネリック型のシリアル化、null 許容要素を表す Nullable<T> 構造体の使用が新たにサポートされています。IXmlSerializable インターフェイスは、カスタム スキーマの生成をサポートしています。SchemaImporterExtension を使用すると、スキーマのインポート中にスキーマを変更することにより、プロキシ コードの生成を制御できます。たとえば、Visual Studio の "Web 参照の追加" 機能の使用時、または Web サービス記述言語ツール (Wsdl.exe) の使用時に生成されたプロキシを変更できます。

新しい XML シリアライザ ジェネレータ ツール (Sgen.exe) を使用すると、Web サービス クライアントで使用するコードをプリコンパイルして、送信された情報をシリアル化できます。これにより、クライアントの起動時間が大幅に改善されます。詳細については、「XML シリアル化の概要」を参照してください。

SMTP のサポート

System.Net.Mail 名前空間と System.Net.Mime 名前空間のクラスを使用すると、アプリケーションで 1 人以上の受信者に電子メールを送信できます。メールは、代替ビューを使用して送信でき、添付ファイルを含めることもできます。CC (Carbon Copy) および BCC (Blind Carbon Copy) の送信もサポートされています。

厳密に型指定されたリソースのサポート

リソース ファイル ジェネレータ (Resgen.exe) は、実行可能ファイルやサテライト アセンブリに埋め込むリソース ファイルを作成します。Resgen.exe は、各リソース ファイルのラッパー クラスを生成します。これにより、リソースに容易にアクセスできるようになり、リソース名のスペル ミスも防ぐことができます。

スレッド処理の強化

マネージ コードだけで作成されたプロセス間通信イベントに、名前を付けることができるようになりました。Semaphore クラスは、特殊なリソース カウントもサポートします。

トレース データのフィルタ処理

.NET Framework 2.0 には、I/O、アプリケーションの起動とシャットダウンなどに関連するシステム イベントをトレースし、ログに記録するクラスが用意されています。ただし、さまざまな種類の大量のトレース情報をユーザーが分析することは困難です。トレース データのフィルタ処理のサポートによって、ログに記録する情報の種類を指定できるようになりました。

トランザクション

新しい System.Transactions 名前空間には、Microsoft 分散トランザクション コーディネータ (MSDTC: Microsoft Distributed Transaction Coordinator) またはローカル トランザクション マネージャによって管理されたトランザクションに、アプリケーションが参加できるようにするためのクラスが含まれています。System.Transactions 名前空間は、Transaction クラスに基づいた明示的なプログラミング モデル、および TransactionScope クラスを使用する暗黙のプログラミング モデルの両方を提供します。暗黙のプログラミング モデルでは、トランザクションはインフラストラクチャによって自動的に管理されます。このトランザクション インフラストラクチャは、既存の System.EnterpriseServices (COM+) トランザクション インフラストラクチャと容易に相互運用できます。System.Transactions 名前空間は、リソース マネージャを実装するためのクラスも提供します。リソース マネージャは、トランザクションで使用する永続性または揮発性のデータを管理し、トランザクション マネージャと連携してアプリケーションに原子性と独立性を保証します。

Web サービス

Web サービスでは、SOAP 1.2 と WS-I Basic Profile 1.0 がサポートされています。WS-I Basic Profile 1.0 については、「Web Services Interoperability Organization - Basic Profile Version 1.0」を参照してください。

共有する型を定義した 2 つ以上の Web サービスを使用する場合、これらの Web サービス用に生成されたクライアント プロキシは、クライアント上の対応する型を共有します。これにより、クライアントは Web サービス間で共有する型のインスタンスを容易に渡すことができます。

イベント ベースのプログラミング パターンを使用して、Web メソッドを非同期で呼び出すことができるようになりました。

Windows フォームに関連する機能

ClickOnce の配置

ClickOnce の配置を使用すると、Web アプリケーションと同様に容易にインストールし、実行できる自己更新型の Windows アプリケーションを配置できます。Windows クライアントとコマンド ライン アプリケーションを配置できます。Visual Studio の [ビルド] メニューと [プロジェクト] メニューに、新しく [<プロジェクト> の発行] コマンドが用意されました。詳細については、「ClickOnce の配置の概要」を参照してください。

アプリケーション設定

Windows フォームのアプリケーション設定を使用すると、クライアントでカスタム アプリケーションとユーザー設定を容易に作成、格納し、保持できます。Windows フォームの設定を使用すると、データベース接続文字列などのアプリケーション データだけでなく、ツール バーの位置や最近の使用リストなど、ユーザー固有のデータも格納できます。詳細については、「アプリケーション設定の概要」を参照してください。

新しいデータ バインディング モデル

BindingSource コンポーネントは、バインド コントロールと対象データ ソースとの間で仲介役として機能するため、データ バインディング プロセスが簡略化されます。このコンポーネントは、通貨、データに関連するイベント、対象データ ソースの変更など、バインディングに関する困難な問題の多くを自動的に管理します。特に BindingNavigator コントロールや DataGridView コントロールなど、データ関連の他の Windows フォーム コントロールと相互運用できるようにデザインされています。詳細については、「BindingSource コンポーネント」を参照してください。BindingSource コンポーネントは、基になるデータ ソースにコントロールをバインドするプロセスを簡略化します。このコンポーネントは、パイプ役、および他のコントロールがバインドするデータ ソースの両方として機能します。

新しい Windows フォーム コントロール

DataGridView コントロールには、データを表形式で表示するための強力で柔軟な機能が用意されています。このコントロールを使用すると、読み取り専用のビューに少量のデータを表示したり、拡大して大量のデータ セットの編集可能なビューを表示したりできます。データは、外部データ ソースに配置することも、コントロールに直接追加することもできます。詳細については、「DataGridView コントロールの概要 (Windows フォーム)」を参照してください。

ToolStrip コントロールは、Windows フォーム アプリケーションでメニュー、コントロール、およびユーザー コントロールをホストするツール バーです。ToolStrip クラスとこのクラスに関連付けられたクラスを使用すると、Microsoft Windows XP、Microsoft Office、Microsoft Internet Explorer に対応するスタイルで、ツール バーや他のユーザー インターフェイス要素を作成できます。また、これらのクラスを使用して、ツール バーやユーザー インターフェイス要素をカスタマイズすることもできます。詳細については、「ToolStrip コントロールの概要 (Windows フォーム)」を参照してください。

MaskedTextBox コントロールは、マスク定義を使用して有効なユーザー入力と無効なユーザー入力を区別します。詳細については、「MaskedTextBox コントロール (Windows フォーム)」を参照してください。

Windows フォームの SoundPlayer クラスを使用すると、アプリケーションにサウンドを容易に含めることができます。SoundPlayer クラスは、リソース、UNC (Universal Naming Convention) または HTTP の場所から、.wav 形式のサウンド ファイルを再生できます。また、SoundPlayer クラスを使用して、サウンドを非同期的に読み込んだり、再生したりできます。詳細については、「SoundPlayer クラス」を参照してください。

Windows フォームの SplitContainer コントロールは、移動できるバーによって分割された 2 つのパネルから成る複合コントロールと考えることができます。マウス ポインタをバーの上に置くと、カーソルが変形し、そのバーを移動できることが示されます。このコントロールを使用して、情報を効率的に表示および参照できるサイズ変更可能な複雑なユーザー インターフェイスを作成できます。詳細については、「SplitContainer コントロール (Windows フォーム)」を参照してください。

ListView コントロールでは、Windows XP および Windows Server 2003 ファミリに用意された、並べて表示ビュー、グループ化、ドラッグ アンド ドロップによる項目の移動の 3 つの機能が新たにサポートされています。

ListViewTreeViewToolTip の各コントロールは、以前のリリースの ComboBoxListBoxMenuItem、および TabControl の各コントロールのオーナー描画のサポートと同様のオーナー描画機能をサポートしています。

WebBrowser コントロールにより、Windows フォーム アプリケーションで Web ページをホストできます。WebBrowser コントロールを使用すると、アプリケーションの統合された HTML ベースのヘルプまたはインターネット Web 閲覧機能を提供できます。また、WebBrowser コントロールを使用して、既存の Web アプリケーションを、動的 HTML (DHTML) コードと Windows フォームのユーザー インターフェイス機能をシームレスに統合するクライアント アプリケーションに変換できます。詳細については、「WebBrowser コントロールの概要」を参照してください。

FlowLayoutPanel コントロールは、コンテンツを横方向または縦方向に配置します。TableLayoutPanel コントロールは、コンテンツをグリッドに配置します。レイアウトは、デザイン時と実行時の両方で実行されるため、アプリケーション環境の変更に伴い、動的に変更できます。詳細については、「FlowLayoutPanel コントロールの概要」および「TableLayoutPanel コントロールの概要」を参照してください。

BackgroundWorker コンポーネントを使用すると、イメージのダウンロードやデータベース トランザクションなど、実行に時間がかかる可能性のある操作をバックグランドで実行できます。詳細については、「BackgroundWorker コンポーネントの概要」を参照してください。

コンポーネントの非同期パターンは、マルチスレッド デザインに固有の多くの複雑な問題を隠ぺいしながら、マルチスレッド アプリケーションの利点を提供するイベント ドリブン モデルです。詳細については、「イベント ベースの非同期パターンの概要」を参照してください。

XML に関連する機能

.NET Framework 2.0 では、XmlReaderXmlWriterXPathNavigator の各クラスで型をサポートする新しい XSLT (XSL Transformation) プロセッサや、XPathNavigator クラスの新しい編集機能など、多数の機能強化が行われています。また、XmlReader オブジェクトと XmlWriter オブジェクトを作成するためのモデルが新たに追加され、パフォーマンスの面でも多数の改善が行われています。詳細については、「System.Xml の新機能」を参照してください。

参照

概念

技術のクイック リファレンス

その他の技術情報

.NET Framework の概要