Windowsアプリケーションは、ほとんどの場合、何らかのイベントに応じで、プログラムを実行指定します。よりWindowsらしいプログラムを作成しようとするほど、イベント処理について深く知る必要が生じてきます。
C#は、比較的後発のプログラミング言語です。そのため、かなり洗練されており、理解しやすい言語の1つと言われています。しかし、C#やWPFの世界は広大です。すこし変わったことをしようとすると、すぐに、知らない知識が必要になります。C#で理解しにくい内容は、私の感覚では、C#言語で定義されていない部分は、難解な傾向があります。
イベント関連した領域は、FormやWPF、UWPなどのUI部分と密接に結びついているため、理科しにくい内容の1つです。Windows OSでは、ウィンドウシステムが使われており、イベントにより、それぞれのプログラムを起動する仕組みです。イベントは、OS側から提供される機能であり、その扱いは、C#の中でもいろいろです。
C#に積極的に導入されている先進的な機能は、.Net Framework内部で使うために追加されているものと思われます。WPFを使う上でも、普段は使わない機能についての知識が必要になります。
WPFのルーティングイベントを「ちょこっと!」理解する。-2つのボタンのイベント-
WPFのルーティングイベントの動作を理解することを目的に、単純なプログラムを作成し、イベントの動作を確認します。
C# WPFで行うドラッグ&ドロップ操作
ドラッグ&ドロップは、オブジェクトをマウス操作で、移動する操作のことです。C#で、ドラッグ&ドロップを実装する際は、FormアプリケーションとWPFアプリケーションで実装方法が異なることに注意が必要です。
C# WPF ウインドウ上でクリックした位置を取得する
C# WPFで作成したプログラムを実行して表示されるウィンドウ内でクリックすると、クリックした位置が表示されるプログラムです。
WPFイベントのドキュメント
- 入力の概要:MSDNで提供されている、WPFが提供するサービスと入力システムのアーキテクチャについて説明のドキュメントの和訳です。
- SetWindowsHookExA関数:msdnのSetWindowsHookExA functionの日本語訳です。C#でグローバル・フックを使用するときに使用します。
- 方法:コマンドを有効にする(WPF) MSDNのドキュメントの和訳
グローバル・ホットキー
ウィンドウが非アクティブ状態でも任意のキーの入力を取得する方法