両方のキーが同じ秒に正確に押されることはないため、機能しません。
あなたのコードが機能しないのは正しいですが、あなたの理由は間違っています。問題は、Tabキーに特別な意味があることです。これにより、フォーカスが変更されます。イベント ハンドラが呼び出されません。
の代わりに別のキーを使用するとTab、コードは正常に機能します。
特定のコントロールの+の動作を本当に変更したい場合は、オーバーライドすることで実行できますが、多くのユーザーがこのキーを使用してフォーム内を移動し、このキーの動作を変更するとそれらのユーザーを困らせる可能性があることに注意してください。ShiftTabProcessCmdKeyTab
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (DateTimePicker_BirthDate.Focused && keyData == (Keys.Tab | Keys.Shift))
{
MessageBox.Show("shift + tab pressed");
return true;
}
else
{
return base.ProcessCmdKey(ref msg, keyData);
}
}