Показать ссылку на объект ошибки, не заданную для экземпляра объекта.
Object reference not set to an instance of an object.
Capture — imgbb.com[^]
Что я уже пробовал:
Private Sub btnaddcat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnaddcat.Click Dim myCheckFont As New System.Drawing.Font("Wingdings", 12, FontStyle.Regular) Dim myRegFont As New System.Drawing.Font("Arial", 12, FontStyle.Regular) With objPurID_PR ListView2.Items.Clear() .purinvid = id dt = .GetPurInvItemForPR() For i As Integer = 0 To dt.Rows.Count - 1 Dim dr As DataRow = dt.Rows(i) Dim listitem As New ListViewItem(dr("itemnm").ToString()) listitem.UseItemStyleForSubItems = False listitem.SubItems.Add(Chr(168)) listitem.SubItems.Item(1).Font = myCheckFont listitem.SubItems.Add(dr("PDQty").ToString()) listitem.SubItems.Add(dr("itemnm").ToString()) listitem.SubItems.Add(dr("itemnm").ToString()) ListView2.Items.Add(listitem) Next End With End Sub
Private Structure MyCell Dim Row As Integer Dim Col As Integer End Structure
Private bOWCheck() As Boolean
Private Sub ListView2_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView2.MouseUp Dim cellLoc As MyCell cellLoc = WhichCell(ListView2, e.X, e.Y) Label4.Text = cellLoc.Row.ToString & " " & cellLoc.Col.ToString If cellLoc.Col = 2 Then If bOWCheck(cellLoc.Row) = True Then Label5.BackColor = Color.AliceBlue ListView2.Items(cellLoc.Row).SubItems(cellLoc.Col - 1).Text = Chr(168) bOWCheck(cellLoc.Row) = False Else Label5.BackColor = Color.Coral ListView2.Items(cellLoc.Row).SubItems(cellLoc.Col - 1).Text = Chr(258) bOWCheck(cellLoc.Row) = True End If End If End Sub
Private Function WhichCell(ByVal lvw As ListView, ByVal X As Integer, ByVal Y As Integer) As MyCell Dim colstart As Integer = 0 Dim colend As Integer = 0 Dim xCol As Integer For xCol = 0 To (ListView2.Columns.Count - 1) colend = colend + ListView2.Columns(xCol).Width If colstart <= X And X <= colend Then WhichCell.Col = xCol + 1 Exit For End If colstart = colstart + ListView2.Columns(xCol).Width Next WhichCell.Row = ListView2.FocusedItem.Index Return WhichCell End Function
Patrice T
Если вы посмотрите внимательно, вы увидите, что сообщение об ошибке также скажет вам, где находится ошибка, ее положение.
Jayanta Modak
Сэр, я вижу ошибку массажа, но я не понимаю, в чем заключается ошибка. Пожалуйста, помогите мне решить эту проблему. Спасибо
Dave Kreskowiak
В какой строке происходит исключение?
У вас есть и другая проблема. Каждый раз, когда вы нажимаете кнопку btnAdd, вы создаете два новых объекта шрифта. НЕ ДЕЛАЙ ЭТОГО! В вашем приложении происходит утечка ресурсов.
Создайте объекты шрифта на уровне класса, чтобы вы могли повторно использовать их в любом месте вашего кода. Когда ваше приложение завершит работу, вызовите Dispose для этих объектов, чтобы освободить ресурсы, которые они удерживают.
Jayanta Modak
https://ibb.co/cNRFzp в этой строке
я не использую ни одну кнопку своего проекта, когда я добавляю какую-либо часть кодирования, то я проверяю ее с помощью кнопки (btnadd), после чего она преобразуется в частную суб и звонит оттуда, где это необходимо.
Я пробую много типов кодирования listview1.checkbox=true, но это не работает должным образом , не работает изменение, щелчок, мышь вверх / вниз и т.д. Потому что , когда я нажимаю на галочку, галочка поет и выключается, но никогда не выбирает полную строку, для этого listview1 меняется, щелчок, мышь вверх / вниз не работает, поэтому я использую этот метод
пожалуйста, простите меня, Сэр, я не знаю хорошего английского языка, пожалуйста, простите. и пожалуйста помогите мне решить эту проблему
Спасибо
Dave Kreskowiak
Когда код ломается, наведите курсор мыши на .Row, затем collLoc, затем bOWCheck. Один из них будет равен нулю, или вообще ничего. VB.NET. Сначала вы выясняете, что такое null, а затем возвращаетесь назад по коду, чтобы выяснить, почему это null.
Нельзя вызывать методы и свойства для несуществующего объекта.