Windows mobile 如何在Windows Mobile中点击组合框?

Windows mobile 如何在Windows Mobile中点击组合框?,windows-mobile,windows-mobile-6.5,Windows Mobile,Windows Mobile 6.5,我不熟悉Windows mobile应用程序。我正在为触摸设备(带有硬件键的设备)开发一个windows mobile应用程序。我想通过编程方式找出用户点击组合框(用手指/手写笔)或按箭头键(使用箭头键遍历列表)之间的区别。因为在这两次调用selectedIndexChanged时。是否有组合框点击或滑动的事件 感谢您的帮助 谢谢 Manish Kumar没有这样的事件 我的建议是在event Click表单中标记手指/手写笔单击,并在for event KeyDown表单中标记箭头键按下。这样

我不熟悉Windows mobile应用程序。我正在为触摸设备(带有硬件键的设备)开发一个windows mobile应用程序。我想通过编程方式找出用户点击组合框(用手指/手写笔)或按箭头键(使用箭头键遍历列表)之间的区别。因为在这两次调用selectedIndexChanged时。是否有组合框点击或滑动的事件

感谢您的帮助

谢谢

Manish Kumar

没有这样的事件

我的建议是在event Click表单中标记手指/手写笔单击,并在for event 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来进行类似的操作可能是值得的。

谢谢Fredrik,我已经用几乎相同的方法实现了它。