- - PR -
DataGridView.CurrentCell で移動後の入力方法について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-03-02 09:08
WindowsXP VB2005EEでソフトを作っています。質問はDataGridViewのフォーカス
移動を"DataGridView.CurrentCell = DataGridView(1, Ro)"等で移動させ、移動先 のセルにキーボードから入力しようとしても入力できません。 一旦その入力したいセルをクリックしてから入力すると入力できますが、CurrentCell で移動後のセルにそのまま入力できるようにするには、どうすればよいのでしょうか。 CurrentCellイベントでの移動例は次の通りです。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles Button1.Click Dim Ro As Integer = DataGridView1.CurrentCell.RowIndex DataGridView1(0, Ro).Value = TextBox1.Text DataGridView1.CurrentCell = DataGridView1(1, Ro) End Sub _________________ | ||||
|
投稿日時: 2008-03-02 19:29
EditModeの設定にもよると思いますが、
DataGridView.BeginEdit メソッド (System.Windows.Forms) を利用してみるとどうでしょうか? | ||||
|
投稿日時: 2008-03-03 09:37
Ahf さん、回答ありがとうございます。昨夜からご指導いただきましたmsdnライブラリをみて
ライブラリに書かれた意味が理解できないまま、テストしていますが、いまだ編集モードを 設定できていません。ライブラリに書かれた意味を下記に追加質問いたしますのでよろしく お願いいたします。 1.Visual Basic (宣言)とは、何処に下のコードを記載すればよいのでしょうか Public Overridable Function BeginEdit ( selectAll As Boolean ) As Boolean 2.Visual Basic (使用法)とは、下のコードをどのイベントハンドラに記載するのでしょうか Dim instance As DataGridView Dim selectAll As Boolean Dim returnValue As Boolean returnValue = instance.BeginEdit(selectAll) 全く基本的な質問で申し訳ありませんが、よろしくお願いいたします。 ちなみに以下のコードを単純に追記し増しあら次のようなIntelliSenseが表示されます DataGridView1.BeginEdit() →Public Overridable Function BeginEdit(SelectAll As Boolean)As Boolean の パラメータSelectAllに対して引数が指定されていません。 _________________ | ||||
|
投稿日時: 2008-03-03 11:21
BeginEditメソッドを単純に追記し、というやりかたで大丈夫だと思います。
ただ、MSDNにも書いてあるとおりBeginEditメソッドは引数をひとつ必要と していますので。
とでもしておくといいと思います。 引数の意味合いとしては「編集開始時にハイライト状態にするならTrue」、 と理解していただければ今のところはいいかと思います。 | ||||
|
投稿日時: 2008-03-03 13:02
Ahfさん、ありがとうございました。
以下のように”DatGridView1.BeginEdit(True)”のコードを挿入すると見事にフォーカス 移動先のセルが編集モードになり、そのままでキーボードから文字や数字を入力できる 用になりました。大変ありがとうございました。
_________________ |
1