[Expression Blend Tips]ハート形のウィンドウを作ってみよう(その1)
の続きです。
とりあえず、最低限のWindowの動作として、
移動と終了だけはできないと話にならないので、
これを組み込みます。
1.Windowオブジェクトをダブルクリックしてアクティブにします。
2.プロジェクトウィンドウの中から、
Window1.xaml.csファイル(ファイル名は違うことがあります)を開き、
先頭に、using System.Windows.Input;を記入しておきます。
3.イベントボタンを押して、イベントウィンドウを表示します。
4.KeyUpのところをダブルクリックします。
Visual Studioが起動し、Window_KeyUpハンドラが作られます。
(Visual Studio 2005 Standard Edition以上の場合、Express Edition
しかインストールされていない場合は、手動でコピーする
必要があります。)
5.MouseLeftButtonDownのところをダブルクリックします。
Window_MouseLeftButtonDownハンドラが作られます。
6.Visual Studioの画面で以下のコードを書き込みます。
using System.Windows.Input;
private void Window_MouseLeftButtonDown
(object sender, MouseButtonEventArgs e)
{
DragMove();
}
private void Window_KeyUp(object sender, KeyEventArgs e)
{
switch (e.Key)
{
case Key.Escape:
Close();
break;
}
}
まず、using System.Windows.Input;と書いておくことで、
KeyやMouse関係のクラスをそのまま呼べるようにします。
DragMove();と書くだけで、ウィンドウをドラッグして
動かせるようになります。
あとは、押したKeyがEscapeだったら、Close();を呼び出して
ウィンドウを閉じるようにします。
これでEscapeキーを押すと終了できるようになります。
(switchを使っているのは、後々他のキーにも拡張する
可能性があるためです)
投稿日時 : 2007年7月5日 19:58