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

برمجة حدث الانتقال بالماوس داخل الداتا غريد فيو

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

اخواني الكرام

السلام عليكم

عندي سوال حول كيفيه برمجه حدث الماوس

بمعنى انا عندي داتا غريد فيو هي عباره كفاتوره للادخال يقوم المستخدم بادخال بياناته فيها بشكل متتابع

يعني ما يدخل في السطر رقم 2 الا لو في بيانات في السطر رقم واحد

الحمدلله الحدث هذا برمجته عن طريق الاسهم والتاب بحيث انه سوف لن ينتقل من اي صف الا ادا ادخل الخانه الاولى على الاقل

مشكلتي تكمن في الماوس يعني عن طريق الماوس يستطيع الانتقال الى اي صف دون مراعاه ماادا كان قد كتب في السطر الدي قبله ام لا

المطلوب انو ينتقل الموشر الى اول سطر يجد فيه الخانه الاولى فارغه ( بطبع ادا حاول المستخدم الانتقال بين الاسطر باستخدام الماوس )

انا جربت الكود التالى بس للاسف لم ينجح للاسف

		 If e.RowIndex <> 0 And e.RowIndex > -1 And e.ColumnIndex > -1 Then
				If Me.DataGridView1(0, e.RowIndex - 1).Value.ToString = "" Then
					Me.DataGridView1(e.ColumnIndex, e.RowIndex).Selected = False


					DataGridView1.CurrentCell = Me.DataGridView1(0, DataGridView1.CurrentCell.RowIndex - 1)
					Me.DataGridView1(0, e.RowIndex - 1).Selected = True

				End If
			End If

لم ينجح لانه هناك فرق بين التضليل ومؤشر الكتابه

بمعني ليس انه عندما يضلل الخانه يعني الخانه في وضع الكتابه

على العموم مرسل مثال مرفق فيه الكود

WindowsApplication1.rar

1145392391.gif
#2

ارجو المساعده لمن لديه خلفيه عن الموضوع

1145392391.gif
#3

السلام عليكم

هنالك حلول اخرى تفي بالغرض و في احداث كثيرة منها على سبيل المثال لا الحصر الحدث CellEndEdit أو حدث CellBeginEdit

اليكِ مثال اخر وهو عن طريق حدث التحققية Validation event

Private Sub MainDataGridView_CellValidated(ByVal sender As Object, _
	ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) _
	Handles MainDataGridView.CellValidated

		If MainDataGridView.Columns(e.ColumnIndex).Name = "NameOfQantity" Then
			If MainDataGridView(e.ColumnIndex, e.RowIndex).Value Is DBNull.Value Or _
			MainDataGridView(e.ColumnIndex, e.RowIndex).FormattedValue = String.Empty Then

				'lock the cursor...
				MainDataGridView("ColumnTypeQuantity", e.RowIndex).ReadOnly = True
			Else
				'unlock the cursor...
				MainDataGridView("ColumnTypeQuantity", e.RowIndex).ReadOnly = False
			End If

		End If
	End Sub

هذا الحدث يقوم بإقفال خانة الكمية حتى يكتب شيئ في خانة الاسم

بالتوفيق إن شاء الله.

في المثال يتضح المقال

#4

استاذنا الفاضل

الحمدلله على السلام بصراحه افتقدناك في المنتدي (إن شاء الله ان يكون المانع خير)

بنسبه للحل يعطيك الف عافيه

ولكن للاسف انا لم اتكلم عن الاعمده انا اتحدث عن الصفوف

يعني موضوع عدم الكتابه في العامود (ب) قبل العامود (أ) هو كما قلت يوجد له عده احداث وانا بالفعل استخدمتها في برنامجي

ولكن المطلوب نفس الحركه بس على الاسطر وليس الاعمده

للعلم انا بالفعل برمجه الاسطر بحيث لا ينتقل من صف الى صف الا ادا تاكد بان الصف الذي قبله يوجد فيه بيانات

انا برمجتها بحيث لا ينتقل باستخدام التاب او الانتر او الاسهم الا عندما يدخل في الذي قبله

ولكن المشكله هي عندما انتقل باستخدام الماوس فانه ينتقل على طول دون مراعاه ذلك

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

شكرا لك مره اخرى وحمدلله على السلامه

1145392391.gif

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…