not president's blog

脳直で書きます。自分が覚えたい事を書いているだけです。

上手くいかないときは人に聞くべきです(C# .NET GridViewのセル選択)

●フォーム表示の際、グリッドビューに行を生成して、特定のセルを選択し、編集状態にしようとした。
[試行錯誤]
 →GridView.CurrentCell = GridView[colum,row];
  とやったが、カーソルは別のところにあった。
  →フォームのコントロールを移動するため、
GridView.Select();
GridView.ClearSelection();
GridView[colum,row].Selected = true;
とした。
が、特定のセルは選択されるが、編集中にならない。
(タブキーを押下すると、セルは指定したを選択している)
→コントロールの指定方法をいろいろ変えるがだめ(this.ActiveControlにしたり、GridView.Focus()にしたり)。

[解決]
(前提)
・GridViewのセルの編集モードが、
 EditOnKeystrokeOrF2
 だった。(セルにフォーカスがあるときに英数字キーまたは F2 キーを押すと、編集が開始されます。)
(解決方法)
・コントロールでセルを選択後、SendKeys.Send("{TAB}");
 でセルが編集中になった。
 なぜF2ではだめだったのか?不明だけど、もういいや。