そのようなイベントはありません。
私の提案は、フォームイベントクリックで指/スタイラスのクリックにフラグを立て、イベントKeyDownで矢印キーの押下にフラグを立てることです。そうすれば、SelectedIndexChange イベントで 2 つを分離できます。何かのようなもの:
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 をオーバーライドして同様のことを行う価値があります。