2005では、この「this.Close()」と記述する際、「this.」と入力すると、そのthis(=Displayオブジェクト)に含まれるメンバの一覧が自動的に表示される。2005の機能である。IntelliSenseは、[Ctrl]+[スペース]キーを押すことで、手動で表示させることもできる。文字の入力途中で[Ctrl]+[スペース]キーを押すと、コードの入力を補完してくれる。IntelliSenseを使いこなせば開発生産性を高めることができるので、ぜひ使い慣れてほしい。2005のIntelliSense(インテリセンス)機能IntelliSenseは、基本的にIDEによって自動的に表示されるが、[Ctrl]+[スペース]キーを押すことで、手動で表示させることもできる。IntelliSenseを閉じてしまった後に、IntelliSenseを再表示したい場合には[Ctrl]+[スペース]キーを利用すればよい。以上で、アプリケーションを終了する機能を実装できた。これを再度ビルドして実行すると、今度は実際にアプリケーションが終了するようになったはずだ。次に、「フォームがフェード・アウトしながら終了する機能」を実装しよう。●フォームのフェード・アウト機能の実装ここでは、フォームのフェード・アウトを行う、次のようなシグネチャのメソッドを追加しよう(ソース・コードに書き込めばよい)。FormFadeOut(){}フォームをフェード・アウトさせる機能を実装するFormFadeOutメソッドのシグネチャこのFormFadeOutメソッドに、フォームをフェード・アウトさせる機能を実装する(後述)。FormFadeOutメソッドの追加が終わったら、先ほど実装した「アプリケーションを終了する処理」の前に、そのFormFadeOutメソッドを呼び出すようにしよう。具体的には、次のようなコードになる。仕上げとして、実際のフェード・アウト処理をFormFadeOutメソッド内に記述する。フェード・アウトとは徐々にウィンドウが見えなくなっていくことなので、現在50%の不透明度(前回の解説でOpacityプロパティを50%に指定した)を49、48、47......と、1つずつ減らしていけばよい(不透明度が減っていく=透明になっていく)。減らすだけだと、コンピュータ(CPU処理)のスピードは非常に速いので、あっという間に0%まで減ってしまう。そこで、1%減るごとに1ミリ秒だけ処理を停止することにしよう(処理の停止には、System.Threading名前空間に所属するThreadクラスの静的メソッドSleepを使えばよい)。これにより少し時間をかけてフェード・アウトするようになる。このフェード・アウト処理を実装したのが、次のコードである(※実はコード内に正しくない部分があるが、これは以降の説明のための故意の誤りである)。1%減るごとに1ミリ秒処理を停止するSystem.Threading.Thread.Sleep(1);}}フォームをフェード・アウトさせる機能を実装するFormFadeOutメソッドの実装ここまででコーディングは完了である。完成したソース・コードをビルドして実行してみよう。「時計」アプリケーションのフォーム上で右クリックしてコンテキスト・メニューを表示し、そのメニューから[終了]を選択すると、次の画面のように、アプリケーションがフリーズして「応答なし」の状態になってしまった。これは先ほど実装したコードに何らかのバグがあるためと考えられる。バグのあるプログラムの実行画面バグのあるプログラムを実行したところ。そのアプリケーションを強制終了しているところ。[終了]を実行すると、アプリケーションがフリーズして「応答なし」の状態になってしまう。マネージャ]から終了したいアプリケーションを選択する。[タスクの終了]ボタンをクリックすれば、選択したアプリケーションが強制終了する。このアプリケーションには、「バグ(Bug)」があるためそれを取り除く「デバッグ(Debug)」が必要となる。よって次に、そのデバッグ方法について解説する(バグの個所はお気付きの方も多いだろうが、ここでは目をつぶっていていただきたい)。7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。TranslatorはPowerPoint用のアドイン。