キーボードだけを使用して.NET DataGridView列を並べ替えることは可能ですか?キーボードのみを使用して.NET DataGridView列を並べ替えることはできますか?
SelectionModeプロパティがあることを理解していますが、これを変更するとShift + Spaceキーを使用して行全体または列全体を選択できるだけですが、マウスでヘッダーをクリックしてソート。
私がアクセシビリティ上の問題に取り組んでおり、マウスに頼るのを避けたいからです。
ありがとうございます。
キーボードだけを使用して.NET DataGridView列を並べ替えることは可能ですか?キーボードのみを使用して.NET DataGridView列を並べ替えることはできますか?
SelectionModeプロパティがあることを理解していますが、これを変更するとShift + Spaceキーを使用して行全体または列全体を選択できるだけですが、マウスでヘッダーをクリックしてソート。
私がアクセシビリティ上の問題に取り組んでおり、マウスに頼るのを避けたいからです。
ありがとうございます。
最初に行う必要があるのは、フォームプロパティでというプロパティをKeyPreview
に設定することです。私は列ヘッダーが今までフォーカスを取得することを知らない
public class Form1{
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyDown);
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
//sort column 0 descending on a 'D' press
if (e.KeyCode == Keys.D)
dataGridView1.Sort(dataGridView1.Columns[0], ListSortDirection.Descending);
//sort column 0 Ascending on a 'U' press
if (e.KeyCode == Keys.U)
dataGridView1.Sort(dataGridView1.Columns[0], ListSortDirection.Ascending);
}
}
私は何か不足している可能性がありますが、希望するキーの組み合わせを受け取った瞬間にSortメソッドを呼び出します。
:
は、その後、あなたがKeyDown()
イベント
のイベントハンドラを追加する必要があるイベントに続いて、このようないくつかのコードの何かを追加します(ctrl + tab/etc?)が可能で、キーボードにコンテキストメニューボタンがある場合は、はとなります。しかし、私はヘッダーがキーボードフォーカスを得たとは思わない。
それ以外の場合、標準のアクセシビリティ機能を使用する方法がありますか?
「すぐに使える」とは、「コード不要」という意味ですか? –
はい、曖昧さをおかけして申し訳ありませんが、私が知らなかったコードなしでこれを行う方法があることを期待していました。 – Eric
私はそこにいるとは思わない。良いニュースは、それはあまりコードを取るべきではないということです。 =) – ZeroDivide