الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تظهر لي هذه الرساله

مغلق
بدأه parser في 15 مارس 2007 · 3 رد · 481 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدي Listbix1 وListbox2 واريد تنفيذ التعليمات التاليه

Me.ListBox1.Items.Add(Me.ListBox2.SelectedItem)

هنا لا يوجد مشكله المشكله في التعليمه التاليه التي تقوم بحذف عنصر من القائمه 2

Me.ListBox2.Items.RemoveAt(Me.ListBox2.SelectedIndex)

تظهر الرساله التاليه

Object reference not set to an instance of an object

ثم إذا ضغطت على OK يتم تنفيذ تعليمة الحذف السابقه بشكل صحيح

#2

يرجى وضع مثال مرفق حتى نستطيع تحديد المشكلة

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#3

هذا الكود الأصلي للمشكله

	Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


		con.ConnectionString = constr
		Dim s, pid As String
		Dim cd1 As New OleDbCommand
		s = "select fname,mname,gname,lname,phone,sec_id,prog_id,room_no,s_date from student where gid='" & id & "'"
		cd1.Connection = con
		cd1.CommandText = s
		con.Open()
		Dim dr1 As OleDbDataReader = cd1.ExecuteReader
		Do While dr1.Read
			fname = dr1("fname") & " " & dr1("mname") & " " & dr1("gname") & " " & dr1("lname")
			phone = dr1("phone")
			section = dr1("sec_id")
			room = dr1("room_no")
			pid = dr1("prog_id")
			str_date1 = dr1("s_date")

		Loop
		con.Close()
		Dim cd As New OleDbCommand
		Dim sql As String
		sql = "select prog_name,time from program where prog_id='" & pid & "'"
		cd.Connection = con
		cd.CommandText = sql
		con.Open()
		Dim dr As OleDbDataReader = cd.ExecuteReader
		Do While dr.Read
			prog = dr("prog_name")
			time = dr("time")
		Loop
		con.Close()
		Dim cd2 As New OleDbCommand
		Dim sql2 As String
		sql2 = "select s_date from sec where prog_id='" & pid & "' and sec_id='" & section & "'"
		cd2.Connection = con
		cd2.CommandText = sql2
		con.Open()
		Dim dr2 As OleDbDataReader = cd2.ExecuteReader
		Do While dr2.Read
			str_date = dr2("s_date")
		Loop
		con.Close()
		Dim cd3 As New OleDbCommand
		Dim sql3 As String
		sql3 = "insert into [report] values('" & id & "','" & fname & "','" & prog & "','" & phone & "','" & room & "','" & section & "','" & str_date & "','" & time & "','" & str_date1 & "')"
		cd3.Connection = con
		cd3.CommandText = sql3
		Try
			con.Open()
			cd3.ExecuteNonQuery()
			con.Close()
			Me.ListBox2.Items.Add(Me.ListBox1.SelectedItem)
		Catch ex As Exception
			MsgBox("تم إختيار هذا الساكن من قبل لا يمكن إعادة إختياره مره أخرى", MsgBoxStyle.OKOnly, "تحذير")
			con.Close()
			GoTo e
		End Try

		Dim df As Integer
// هنا تحدث المشكله عند الحذف إذا لم استخدم تعليمة الإضافة السابقه لا تحدث مشكله
	   Me.ListBox1.Items.RemoveAt(Me.ListBox1.SelectedIndex)
e:
		Me.ListBox2.Sorted = True
		df = ListBox1.Items.Count
		If df = 0 Then
			Button1.Enabled = False
			Button3.Enabled = False
			ListBox2.SetSelected(0, True)
		Else
			ListBox1.SetSelected(0, True)
		End If
	End Sub

تم تعديل هذه المشاركة بواسطة محمد سامر أبو سلو في 16 مارس 2007 في 23:11

#4

السطر

Me.ListBox1.Items.RemoveAt(Me.ListBox1.SelectedIndex)

لايمكن أن يعطي الرسالة

Object reference not set to an instance of an object

إلا إن كانت ListBox1 غير موجودة فعلا على النافذة

فإن كانت موجودة ممكن أن يظهر لك خطأ ArgumentOutOfRangeException إن كانت قيمة SelectedIndex خارج المجال من 0 إلى Count -1

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

هذا الموضوع مغلق.

مواضيع مشابهة