我是Windows移动应用程序的新手。我正在开发用于触摸设备的Windows移动应用程序(具有硬件密钥的设备)。我想以编程方式找出用户点击ComboBox(通过手指/手写笔)或按箭头键(使用箭头键进行列表遍历)之间的区别。因为它同时调用selectedIndexChanged。 ComboBox TAP或刷卡有什么事件吗?
感谢任何帮助。
谢谢你 Manish Kumar
答案 0 :(得分:1)
没有这样的事件。
我的建议是在表单事件中标记手指/手写笔点击单击并标记for事件KeyDown中的箭头键。这样,您可以在SelectedIndexChange事件中分隔两者。 类似的东西:
enum InteractionType
{
Click,
KeyDown
}
private InteractionType _userInteractionType;
private void form_Click(object sender, EventArgs e)
{
_userInteractionType = InteractionType.Click;
}
private void form_KeyDown(object sender, KeyEventArgs e)
{
e.Handled = true;
switch (e.KeyCode)
{
case Keys.Up:
case Keys.Down:
_userInteractionType = InteractionType.KeyDown;
break;
}
}
private void comboBox_SelectedIndexChanged(object sender, EventArgs e)
{
switch (_userInteractionType)
{
case InteractonType.Click:
// do something
break;
case InteractionType.KeyDown;
// do something else
break;
}
}
如果你需要在很多地方经常这样做,那么可能值得为你的项目创建一个表单基类,并通过重写OnClick和OnKeyDown来做类似的事情。