C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.69760 の関連記事表示

<< 0 >>
■69760  指定した列のみフォーカス移動
□投稿者/ 龍鳳 -(2014/01/28(Tue) 15:36:32)

    分類:[VB.NET/VB2005 以降] 

    DataGridViewで指定した列のみフォーカス移動する方法が解りません。

     奇数列だけTabでフォーカス移動するなど

    ご存知の方よろしくお願いします。

    環境は、
    言語:VB.Net2010
    OS:Win7



親記事 /過去ログ119より / 関連記事表示
削除チェック/

■69768  Re[1]: 指定した列のみフォーカス移動
□投稿者/ shu -(2014/01/28(Tue) 17:35:06)
    No69760 (龍鳳 さん) に返信
    > DataGridViewで指定した列のみフォーカス移動する方法が解りません。
    > 例
    >  奇数列だけTabでフォーカス移動するなど
    > 
    > ご存知の方よろしくお願いします。
    単純な設定で行う方法はわかりません。
    だいたい以下のような感じで出来ると思います。
    
        Private Sub DataGridView1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles DataGridView1.KeyDown
            If e.KeyCode = Keys.Tab Then
                e.Handled = True
                Dim Col = DataGridView1.CurrentCell.ColumnIndex
                Dim Row = DataGridView1.CurrentCell.RowIndex
                If Col Mod 2 = 0 Then
                    If e.Shift Then
                        Col -= 2
                        If Col < 0 Then
                            If Row > 0 Then
                                Col = DataGridView1.ColumnCount - 1
                                Row -= 1
                            Else
                                Col = 0
                            End If
                        End If
                    Else
                        Col += 2
                        If Col >= DataGridView1.ColumnCount Then
                            If Row < DataGridView1.RowCount - 1 Then
                                Col = 0
                                Row += 1
                            Else
                                Col = DataGridView1.ColumnCount - 1
                            End If
                        End If
                    End If
                    DataGridView1.CurrentCell = DataGridView1.Item(Col, Row)
                End If
            End If
        End Sub
    
        Private Sub DataGridView1_KeyUp(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles DataGridView1.KeyUp
            If e.KeyCode = Keys.Tab Then
                e.Handled = True
            End If
        End Sub
記事No.69760 のレス /過去ログ119より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -