■13928 / inTopicNo.2) |
Re[1]: DataGridView 編集中→Enter で・・・・ |
□投稿者/ 引っ込んだ(略) (1回)-(2008/02/06(Wed) 18:26:38)
|
2008/02/07(Thu) 19:06:34 編集(投稿者) 2008/02/06(Wed) 23:39:31 編集(投稿者) 2008/02/06(Wed) 18:31:39 編集(投稿者) (変更履歴) 1.顔文字を追加 2.コメントを追加 3.↑で追記したコメントを削除(日本語は難しいですね・・・)
引っ込んだ(略)と申します。 今度はこちらの掲示板から、お答えいたします(^^。 [追記1] 顔文字を追加
[ここから削除] [追記2] # ↑言外の意味は全くありません。誤解されないでくださいね。 # こちらでのご質問投稿では、リンクをうっかり張り忘れているようです。 # http://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al2&namber=21426&rev=&no=0 # 私の1回目の投稿はどぼん!さんの掲示板で、 # 2回目投稿のチャンスがもしあれば、わんくまさんの掲示板で行うことに最初から決めておりました(←本当の話)。 [ここまで追記2] [ここまで削除]
苦し紛れの方法なのですが(汗 とりあえず以下のコードで試してみてください。 ※ 一度ビルドした後、ツールボックスからDataGridViewExをFormにドロップしてください ※ コードがVBですがご了承下さい。
Public Class Form1 Protected Overrides Sub OnLoad(ByVal e As System.EventArgs) MyBase.OnLoad(e) Me.DataGridViewEx1.SelectionMode = DataGridViewSelectionMode.FullRowSelect End Sub Private Sub DataGridViewEx1_FocusProposing(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridViewEx1.FocusProposing TextBox1.Focus() End Sub End Class
Public Class DataGridViewEx Inherits DataGridView Public Event FocusProposing As EventHandler Protected Overridable Sub OnFocusProposing(ByVal e As EventArgs) RaiseEvent FocusProposing(Me, e) End Sub Dim m_isendedit As Boolean = False Dim m_prevcell As New Point(-99, -99) Protected Overrides Sub OnCellEnter(ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) MyBase.OnCellEnter(e) If Me.m_isendedit = True Then ' Me.SetSelectedCellCore(e.ColumnIndex, e.RowIndex, False) ' Me.SetSelectedCellCore(Me.m_prevcell.X, Me.m_prevcell.Y, True) Me.SetSelectedRowCore(e.RowIndex, False) Me.SetSelectedRowCore(Me.m_prevcell.Y, True) Me.m_isendedit = False End If End Sub Protected Overrides Sub OnCellEndEdit(ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) MyBase.OnCellEndEdit(e) Me.m_isendedit = True Me.m_prevcell = New Point(e.ColumnIndex, e.RowIndex) Me.OnFocusProposing(EventArgs.Empty) End Sub Protected Overrides Sub OnKeyDown(ByVal e As System.Windows.Forms.KeyEventArgs) MyBase.OnKeyDown(e) Select Case e.KeyCode Case Keys.Return, Keys.Tab Me.OnFocusProposing(EventArgs.Empty) e.Handled = True ' ←この行はなくてもOK End Select End Sub End Class
以上です。
|
|