ボタン付きのフォームがあります。このアプリケーションは、タッチスクリーン コンピューターで実行するためのものです。ボタンがクリックされたとき、それがマウスまたはタッチスクリーンのどちらでクリックされたかを知りたいです。
これは可能ですか?もしそうなら、どのように?
ボタン付きのフォームがあります。このアプリケーションは、タッチスクリーン コンピューターで実行するためのものです。ボタンがクリックされたとき、それがマウスまたはタッチスクリーンのどちらでクリックされたかを知りたいです。
これは可能ですか?もしそうなら、どのように?
private void button_Click(object sender, EventArgs e)
{
try
{
((MouseEventArgs)e).Button.ToString();
}
catch(Exception)
{
//If an exception is catch, it means the mouse was not used.
}
}
タッチスクリーンまたはキーボードのリターンのいずれかで、マウス以外の何かによってボタンが「クリック」されるたびに例外がキャッチされるため、これは大まかな方法です。しかし、それは仕事をします:)
このようにWildhornの回答から取得すると、例外がスローされるのを回避できます。
MouseEventArgs thisObject = e as MouseEventArgs
if(thisObject != null)
{
//Do Something
}
それほど違いはありませんが、例外処理のオーバーヘッドはありません。また、適切なキャストが得られるまで、複数のキャストを試すこともできます。