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

كيف يتم عدم نقل التركيز من مربع نص الي مربع نص آخر

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

أحبائي السلام عليكم ورحمة الله وبركاتة

لدي مربعين نص وليكن المربع الاول اسمة T4 والمربع الثاني T5

والمطلوب كما في الكود المرفق اليكم الاتي

1 - الكود الاول وظيفتة ادراج التاريخ في مربع النص T4 عن طريق الضغط المفتاح F3 من لوحة المفاتيح ( الكود يعمل بصورة طبيعية)

2 - الكود الثاني تم وضع شرط بحيث لو تم تسجيل بيانات بتاريخ سابق يتم عرض رسالة تفيد بعدم تسجيل بيانات بتاريخ سابق ( الكود لايعمل بصورة طبيعية )

3- الكود الثالث يتم الانتقال من حقل T4 الي حقل T5

وذلك بالضغط علي زر Enter من لوحة المفاتيح ( الكود يعمل بصورة طبيعية)

السؤال هنا ؟؟؟

أريد عندما يتم تسجيل بيانات بتاريخ سابق يتم عرض الرسالة الموجودة في الكود رقم 2 بالاضافة الي عدم تنفيذ الاجراء الثالث وهو عدم نقل التركيز من T4 الي T5 حتي يتحقق الشرط بستجيل التاريخ بتاريخ اليوم . أيضاً الكود الثاني في موضعة هذا لا يعمل بصورة طبيعية

شكراً لكم جميعاً

Private Sub T4_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles T4.KeyDown

If e.KeyCode = Keys.F3 Then
			Me.T4.Text = Now().ToString("dd/MM/yyy")
		End If

If T4.Text < Now().ToString("dd/MM/yyy") Then
			MsgBox("لا يمكن تسجيل بيانات بتاريخ سابق", MsgBoxStyle.Critical, "warning")

 End If

If e.KeyCode = Keys.Enter Then
			T5.Focus()
		End If
End Sub

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#2

يتم ذلك بمعالجة الحدث Validating لـ TextBox وعندما لايتحقق الشرط الذي تريد استخدم e.Cancel = True لمنع انتقال التركيز إلى التحكم التالي

مثال

Private Sub TextBox1_Validating(ByVal sender As Object, _
		ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating

		If CDate(TextBox1.Text) < CDate("14-02-2007") Then
			MsgBox("What ever")
			e.Cancel = True
		End If

	End Sub

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

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

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

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

#3

جواب الاستاذ محمد صحيح

بس حبيت اضيف بعض التعديلات للتأكد من حاجتين :

1. تحويل التاريخ من نص الى تاريخ

2. اخذ تاريخ اليوم بنفس صيغة التاريخ المدخل وعلى هيئة تاريخ لا نص

وطلع معاي الكود التالي

Dim d1 As Date = Date.TryParseExact(T4.Text, "dd/MM/yyyy", New Globalization.CultureInfo("en-us"))
		If d1 < Format(Today, "dd/MM/yyyy") Then
			MsgBox("What ever")
			e.Cancel = True
		End If

الكود على 2005

تم تعديل هذه المشاركة بواسطة Scoool في 20 فبراير 2007 في 08:49

#4

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

أشكركم بعمق علي المجهودات المبذولة من أجل مساعدتي ومساعدة جميع الاعضاء

الاخ Scoool

اضافتك زادت المشاركة حلاوة

شكرا لك

وشكر خاص لاستاذنا محمد سامر

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#5

أخواني الافاضل

إواجه مشكلة في هذا الكود ولا استطيع الوصول للحل الصحيح

Private Sub MaskedTextBox1_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MaskedTextBox1.Validating
		If MaskedTextBox1.Text < Now().ToString("dd/MM/yyy") Then
			MsgBox("لا يمكن تسجيل بيانات بتاريخ سابق", MsgBoxStyle.Critical, "warning")
			e.Cancel = True
		End If
	End Sub

عند كتابة تاريخ اليوم تظهر الرساله تفيد بأنني لا يمكن تسجيل بيانات بتاريخ سابق مع ان تاريخ اليوم ليس تاريخ سابق

وعند كتابة تاريخ غدا لا تظهر هذه الرساله

فبرجاء مساعدتي في هذه المشكلة

علماً بأنني استخدم VB.net 2005

أيضاً الكود المطروح من الاخ Schoool يعطيني أخطاء كما هو موضح في الصورة

date.JPG

ايه الحل

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#6

أخواني الافاضل

المشكلة كلها تكمن في الاتي

لو تم عمل MaskedTextBox1 لا يعمل الكود بالطريقة الصحيحة . .

أما في حاله عمل مربع نص عادي Textbox1 يعمل الكود زي الحلاوة

فبرجاء الافاده لماذا الكود لا يعمل بالطريق الصحيحة في MaskedTextBox1

شكرا لكم

certifiedj.jpg

 

 

Image Hosted by ImageShack.us

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

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

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

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

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

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