5

私は datagridview cell enter イベントにコードを次のように書いています

private void dgvGoodsRecpt_CellEnter(object sender, DataGridViewCellEventArgs e)
{
    if (dgvGoodsRecpt.CurrentRow.Cells[e.ColumnIndex].ReadOnly)
    {
        SendKeys.Send("{tab}");
    }
}

現在のセルが の場合、このコードはタブを次のセルに送信しますReadOnly true

それはうまくいっていますが、ここで私の問題は、datagridview の最後の列がreadonly trueで、次のコントロールがtxtAmount1.Textand であることtxtAmount2.Textです。

Tab キーを押し続けると、フォーカスが移動しtxtAmount2.Textます。しかし、datagridview の次はtxtAmount1.Text. フォーカスは、datagridview の後の imidiate コントロールの次のコントロールに移動します。フォーカスはtxtAmount1.Textコントロールに移動するはずです。私は何をすべきか?私を助けてください。

4

2 に答える 2

2

非英数字キー用の定義済み文字列定数のリストがあります。たとえば{TAB}、Tab キー用です。すべての定数を含む MSDN の記事は次のとおりです

SendKeys.SendWait代わりに使用することも検討してください。このメソッドは、アプリケーションが続行する前に、ターゲット アプリケーションが送信されたキーを処理することを保証します。例えば:

SendKeys.SendWait("{TAB}");
于 2017-10-28T21:33:30.723 に答える