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

わんくま同盟

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

C# と VB.NET の入門サイト

■88643 / 2階層)  DataGridViewの不正値チェック
□投稿者/ まっさん (8回)-(2018/09/12(Wed) 21:24:57)
No88637 (まっさん さん) に返信

編集中のTextBoxにアイコンを表示するのは力技になりそうなので以下のように
ToolTipでエラー表示するようにしました。
独り相撲で申し訳ありませんでした。

  '編集中セルの行番号、列番号、EditingControl
    Private _textbox As Tuple(Of Integer, Integer, DataGridViewTextBoxEditingControl)
    Private _toolTip As New ToolTip
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Dim dt As New DataTable
        dt.Columns.Add("C1", GetType(Integer))
        dt.Rows.Add(1)
        dt.AcceptChanges()
        DataGridView1.DataSource = dt
    End Sub
    Private Sub DataGridView1_DataError(sender As Object, e As System.Windows.Forms.DataGridViewDataErrorEventArgs) Handles DataGridView1.DataError
        '念の為、行番号、列番号も照合する
        If _textbox IsNot Nothing AndAlso _textbox.Item1 = e.RowIndex AndAlso _textbox.Item2 = e.ColumnIndex Then
            _textbox.Item3.SelectAll()
            'ツールチップを表示
            _toolTip.SetToolTip(_textbox.Item3, "セルの値を確認してください。")
            _toolTip.ToolTipIcon = ToolTipIcon.Error
            _toolTip.Active = True
        End If
        e.Cancel = True
    End Sub
    Private Sub DataGridView1_EditingControlShowing(ByVal sender As Object, _
        ByVal e As DataGridViewEditingControlShowingEventArgs) _
        Handles DataGridView1.EditingControlShowing
        If TypeOf e.Control Is DataGridViewTextBoxEditingControl Then
            Dim tbox = DirectCast(e.Control, DataGridViewTextBoxEditingControl)
            Dim cell = DataGridView1.CurrentCell
            _textbox = Tuple.Create(cell.RowIndex, cell.ColumnIndex, tbox)
        Else
            _textbox = Nothing
        End If
    End Sub
    Private Sub DataGridView1_CellEndEdit(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
        _toolTip.Active = False
    End Sub

解決済み
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[1]: DataGridViewの不正値チェック /まっさん 返信無し
 
上記関連ツリー

DataGridViewの不正値チェック / まっさん (18/09/12(Wed) 13:43) #88633
Re[1]: DataGridViewの不正値チェック / まっさん (18/09/12(Wed) 20:21) #88637
│└ DataGridViewの不正値チェック / まっさん (18/09/12(Wed) 21:24) #88643 解決済み ←Now
Re[1]: DataGridViewの不正値チェック / まっさn (18/09/12(Wed) 20:17) #88636

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信