我有一个带按钮的表单。此应用程序旨在在触摸屏计算机上运行。单击按钮时,我想知道它是由鼠标还是触摸屏单击的。
这可能吗?如果是这样,怎么做?
我有一个带按钮的表单。此应用程序旨在在触摸屏计算机上运行。单击按钮时,我想知道它是由鼠标还是触摸屏单击的。
这可能吗?如果是这样,怎么做?
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
}
它没有太大的不同,但您没有异常处理的开销。您也可以尝试多次施法,直到找到正确的施法者。