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

سؤال عن الcombobox,tab,email

بدأه incomplete في 18 مارس 2009 · 18 رد · 1,603 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اريد اعرف الخصائص لعمل الاسياء التاله لاني بحثت عنها ولم اجدها او اذا وجد كود

1-كيف انتقل بتاب بين الكومبونينت الموجوده بالفورم تبعي( اي مثلااريد الانتقال من التكست بوكس5 الى تكست بوكس 1 علما بان الديفولت من 1 ال 5) هل هناك خاصيه ؟؟؟؟؟؟

2- كيف اجعل الكومبو بوكس غير قابل للتحرير او الاضافه(اي المستخدم فقط يختار من الموجود بالكومبو فقط؟؟؟؟؟؟

سوال اخير

3-اريد كود لفحص الايميل(اي وجود @ وال .comمثلا??

ارجوا الرد

وجزيتم خيرا وشكرااااا

تم تعديل هذه المشاركة بواسطة incomplete في 18 مارس 2009 في 22:08

#2

مرحباً أخي الكريم,

1 - رجاء أعد صياغة الطلب .

2 - أضف التالي للـ ( ComboBox.KeyDown) :

 

[color= #000000; font-weight: bold;]Private Sub ComboBox1_KeyDown[color= #009900;](Byval Sender [color= #b1b100;]As [color= #990000;]System[color= #339933;].Object[color= #339933;], Byval E [color= #b1b100;]As [color= #990000;]System[color= #339933;].KeyEventArgs [color= #009900;]) H
andles ComboBox1[color= #339933;].KeyDown

E[color= #339933;].Handled [color= #339933;]= [color= #000000; font-weight: bold;]True

[color= #990000;]End Sub

3 - يمكنك إستخدام جمل شرطية على أن يكون النص موجود في إحدا الـ TextBoxes يحوي ( @ ) و ينتهي بما تريد ( .Com )

مثال :

 

[color= #b1b100;]If TextBox1[color= #339933;].Text[color= #339933;].Contains[color= #009900;]( [color= #0000ff;]"@" [color= #009900;]) And TextBOx1[color= #339933;].Text[color= #339933;].EndWith[color= #009900;]( [color= #0000ff;]".com" [color= #009900;]) Then

MsgBox[color= #009900;]( [color= #0000ff;]"Valid ID"  [color= #009900;])

[color= #b1b100;]Else

Msgbox[color= #009900;]( [color= #0000ff;]"The given ID wasn't in a correct format, please retype it again, thank you." [color= #009900;])

[color= #990000;]End [color= #b1b100;]If

بالتوفيق .

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 19 مارس 2009 في 01:17

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#3

لظبط ال Tab order

http://msdn.microsoft.com/en-us/library/bd16a8cw(VS.80).aspx

بخصوص جزئية الإيميل.. استخدام فحص .com و @ غير كافى..

جرب تستخدم ال regular expressions

http://www.vbforums.com/showthread.php?t=407441

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#4

مشكور اخي بشارواخ احمد يوسف على ردودكم

بس كود عدم الادخال للكومبوبوكس لا زلت استطيع ادخل واعدل على الكومبوبوكس

اما كود فحص الايميل فيعمل بشكل جيد

لكن عمليه الانتقال بتاب بين الكومبونينتس ؟؟؟؟؟؟؟؟؟

قرات الروابط لكنها تتحدث عن سحب الاداة وترتيبها بالتصميم

ارجو منكم المساعده في التنقل بتاب بين الكومبونينتس وكذلك جعل الكومبوبوكس غير قابل للكتابه

وجزيتم خيرا سلفا

وشكرررررا

اخوكم incomplete

#5
ahmed_youssef كتب:
لظبط ال Tab order

http://msdn.microsoft.com/en-us/library/bd16a8cw(VS.80).aspx

بخصوص جزئية الإيميل.. استخدام فحص .com و @ غير كافى..

جرب تستخدم ال regular expressions

http://www.vbforums.com/showthread.php?t=407441

حسناً إذا أردت استخدام الـ( RegularExpressions ) مع أني أفضل استخدام شيء أكثر منطقية لأنه وبطريقة ما يعدّ من الأنواع صعبة الفهم بالنسبة للمبتدئين, إليك مثال على استخدامه :

Public Function IsValidEmail(ByVal EmailID As String) As Boolean
	'للسماح بإضافة أي من النهايات التالية 
	'com,edu,info,gov,int,mil,net,org,biz,name,museum,coop,aero,pro,tv
	Dim Pattern As String = "^[-a-zA-Z0-9][-.a-zA-Z0-9]*@[-.a-zA-Z0-9]+(\.[-.a-zA-Z0-9]+)*\." & _
	"(com|edu|info|gov|int|mil|net|org|biz|name|museum|coop|aero|pro|tv|[a-zA-Z]{2})$"
	'تصريح
	Dim Check As New Text.RegularExpressions.Regex(Pattern,RegexOptions.IgnorePatternWhitespace)
	'تصريح متغيّر منطقي ليستخدم كعامل أساسي للعملية
	Dim Valid As Boolean = False

	'تأكد من أن النص ليس فارغاً
	If String.IsNullOrEmpty(EmailID) Then
		Valid = False
	Else
		'استخدام العملية IsMatch للتأكد من النص المدخل على هيئة من هيئات البريد الإلكتروني المحددة في الأعلى
		Valid = Check.IsMatch(EmailID)
	End If
	'إعادة قيمة المعامل الأساسي
	Return Valid
End Function

___________ استخدام السابق __________

عليك إضافة التالي للحدث ( TextBox_TextChanged )

 

Dim Txt [color= #b1b100;]As TextBox [color= #339933;]= DirectCast[color= #009900;]( Sender[color= #339933;], TextBox[color= #009900;])

[color= #b1b100;]If IsValidEmail[color= #009900;]( Txt[color= #339933;].Text[color= #009900;]) Then

Txt[color= #339933;].BackColor [color= #339933;]= Color[color= #339933;].Lime

[color= #b1b100;]Else

Txt[color= #339933;].BackColor [color= #339933;]= Color[color= #339933;].Red

[color= #990000;]End [color= #b1b100;]If

_______________________________

بالنسبة للـ( ComboBox ) فإذا أردت أن تمنع المستخدم من الكتابة بتاتاً فعليك استخدام ماذكر أعلاه وهو جعل الخاصية

( Handled ) = ( True )

عند وضع هذه الخاصية إلى True يتم تجاهل كتابة أي حرف أو بالأحرى يتم تجاهل أي زر يتم ضغطه في الـ( ComboBox ) أي عندما يكون ذلك الـ( ComboBox ) مُركز أعني أنه في فترة التعديل والتركيز, يمكنك أيضاً إستخدام نفس الإجراءات في الحدث ( KeyPress ) .

إذا كنت تقصد أنك تريد أن تمنع المستخدم حتى من اختيار أي من عناصر ذلك الـ( ComboBox ) فعليك جعل الخاصية ( Enabled ) لذلك الـ( ComboBox ) تساوي ( False ), بهذا سيكون الـ( ComboBox ) شبه مجمد, أي غير قابل لأن يعدل عن طريق المستخدم لكنه قابل لأن يكون بطريقة أو بـ( Code ) برمجي ( برمجياً ) .

بالنسبة للـ( TabControl ) أخي الكريم اعذرني, لكني لم أفهم بالضبط ماتريد, فهل لك بأن تحاول من جديد في شرح هذه القضية, شكراً لك .

بالتوفيق .

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 19 مارس 2009 في 21:57

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#6

مشكووور اخي بشار على ردك على اسئلتي

واتمنى من الله ان يجعلها في ميزا ن حسناتك

كود عدم التعديل على الكومبوبوكس تمام اشتغل بواسطه ال keypress

اما بالنسبه للسوال عن التاب فهذا شرح مسهب وارجو المساعده

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

علما بان هذه التولز غير مرتبه((اقصد مثلا اولا تكست بوكس اربعه ثم تسعه ثم ثلاثه)) وبالتالي في اول التنفيذ يظهر لي الموشر بالتكست بوكس 1 وهذا غير صحيح لاني اريد الموشر اولا في تكست بوكس4 ثم ينتقل الى 9 ثم ثلاثه وهكذا))لكن لم استطع ايجاد هذه الخاصيه

.........اتمنى انه تم الاستيعاب

وجزيتم خيرا

اخاكم incomplete

#7

مرحباً أخي الكريم,

في المرفقات مشروع بسيط أعتقد أنه يناسب احتياجاتك بالنسبة للتنقل من تحكم إلى أخر عبر الضغط على الزر ( Tab ) بشكل محدد .

ستجد أن الخاصية المستخدمة لهذا الأمر هي الـ( TabIndex ) ولكي تقوم بتعديل هذه الخاصية عليك الحرص أنه ليس هنالك تحكم آخر يملك نفس القيمة بالنسبة لهذه الخاصية أي الـ( TabIndex ) .

بالتوفيق

FocusingByTabIndex.zip

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 22 مارس 2009 في 16:11

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#8

اشكرك شكرا جزيلا اخ بشار

بالفعل هذا ما كنت اريده

جزيت خيرا

واسال الله ان يزيدك من فضله

وشكرااا لك

اخوك incomplete

#9

السلام عليكــم ورحمـة الله وبركاتــه ،،

بالنسبة لـ Tap:

اسهل طريقة هي ان تفتح الفورم في المصمم ، وتستخدم امر Tab Order من القائمة View ، وبعد ذلك تنقر على مربع النص الأول ثم الثاني ، وهكذا، طبعا بالترتيب المطلوب. وبعد ما تنتهي انقر على نفس الأمر مرة ثانية.

وإذا اردت ان لا يتوقف التركيز على كنترول معين عند استخدام Tab فعين الخاصية TapStop له إلى False

بالنسبة لـ ComboBox : لا زم تغير الخاصية DropDownStyle إلى DropDownList عن طريق صفحة الخصائص في المصمم او عن طريق الكود بهذا الشكل

ComboBox1.DropDownStyle=ComboBoxStyle.DropDownList

[وسط]لا اله الا انت سبحانك انى كنت من الظالمين

[/وسط]

#10

جزاك الله خيراً .. Bashar Rabat

لآني كنت أبحث عن نفس المشكلة .. وكان عندي استفسار اخر ..

عندي radoibuton لأختبار نوع الجنس إما ذكر أو أنثى ..

على اساس لو اختار radoibuton1 يكتب لي في قاعدة البيانات في نوع الجنس "ذكر " ..

ولو اختار radoibuton2 يكتب لي في قاعدة البيانات في نوع الجنس "انثى" ..

ربط قاعدة البيانات بالاكسس و اصدار الفجوال بيسك.نت 2005

عملت الاتصار بـ ado.net بالوضع المتصل اثناء التصميم ..

بس المشكله سواء اخترت ذكر أو انثى .. بيحفظ في قاعدة البيانات ذكر ..

والسبب اني في الربط بقاعده البيانات ربط فقط radoibuton1 ..

يعني عارفه المشكله وعاجزه عن حلها .. يا ريت تساعدني بالكود..

أو أي أحد من المبدعين على عذا الصرح الرائع ..

في انتظار الرد ..

جزيت خيراً .. لك ولكل من اهتم باستفساري من المبدعين ..

تم تعديل هذه المشاركة بواسطة rokyyy في 31 مارس 2009 في 21:31

.. لا إله إلا أنت سبحانك إني كنت من الطالمين ..

#11
rokyyy كتب:
جزاك الله خيراً .. Bashar Rabat

لآني كنت أبحث عن نفس المشكلة .. وكان عندي استفسار اخر ..

عندي radoibuton لأختبار نوع الجنس إما ذكر أو أنثى ..

على اساس لو اختار radoibuton1 يكتب لي في قاعدة البيانات في نوع الجنس "ذكر " ..

ولو اختار radoibuton2 يكتب لي في قاعدة البيانات في نوع الجنس "انثى" ..

ربط قاعدة البيانات بالاكسس و اصدار الفجوال بيسك.نت 2005

عملت الاتصار بـ ado.net بالوضع المتصل اثناء التصميم ..

بس المشكله سواء اخترت ذكر أو انثى .. بيحفظ في قاعدة البيانات ذكر ..

والسبب اني في الربط بقاعده البيانات ربط فقط radoibuton1 ..

يعني عارفه المشكله وعاجزه عن حلها .. يا ريت تساعدني بالكود..

أو أي أحد من المبدعين على عذا الصرح الرائع ..

في انتظار الرد ..

جزيت خيراً .. لك ولكل من اهتم باستفساري من المبدعين ..

مرحباً أخـ(ـتـ)ـي الكريمـ(ـة),

بالنسبة للسؤال المذكور أعلاه فلديك إحدى الخيارات وهي :

إذا كان المستخدم مجبور على أن يختار إحدى الجنسين فيمكنك إعتماد الـ Boolean وذلك أنه إذا كانت القيمة False فإن الشخص ذكر وإذا كانت القيمة True فإن ذلك الشخص انثى وهكذا .

أو عليك إستخدام حقل حرفي بطول عدد حروف أطول قيمة نصية من المدخلات أي ( انثى, ذكر, غير محدد, وما إلى ذلك ), لديك الكثير من الإختيارات, لكن إذا كان نوعين فيفضل إستخدام نوع الـ Boolean .

سأقوم بإنشاء مشروع بسيط يساعدك في هذه الفكرة ( غداً إن شاء الله ) .

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 1 أبريل 2009 في 03:15

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#12
Bashar Rabat كتب:
مرحباً أخـ(ـتـ)ـي الكريمـ(ـة),

بالنسبة للسؤال المذكور أعلاه فلديك إحدى الخيارات وهي :

إذا كان المستخدم مجبور على أن يختار إحدى الجنسين فيمكنك إعتماد الـ Boolean وذلك أنه إذا كانت القيمة False فإن الشخص ذكر وإذا كانت القيمة True فإن ذلك الشخص انثى وهكذا .

أو عليك إستخدام حقل حرفي بطول عدد حروف أطول قيمة نصية من المدخلات أي ( انثى, ذكر, غير محدد, وما إلى ذلك ), لديك الكثير من الإختيارات, لكن إذا كان نوعين فيفضل إستخدام نوع الـ Boolean .

سأقوم بإنشاء مشروع بسيط يساعدك في هذه الفكرة ( غداً إن شاء الله ) .

في انتظار المشروع الصغييير ,,

عندي استفسار اخر ..

عندما جربت الكود اللذي وضعته لـ combobox حتى لا يتمكن المستخدم من تحريره او الكتابه فيه فقط يكون مجبر على الأختيار من القائمه دون تحريرها ..

كتب لي خطأ تحت .. System.KeyEventArgs

لا أعلم السبب .. :(

أشكر لك اهتمامك .. جزاك الله خيراً ..

تم تعديل هذه المشاركة بواسطة rokyyy في 1 أبريل 2009 في 11:32

.. لا إله إلا أنت سبحانك إني كنت من الطالمين ..

#13

الأخ الكريم, الأخت الكريمة,

جرب المثالين الموجودين في الملف المضغوط من المرفقات,

بالتوفيق

WorkingWithMSACSSDb.rar

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#14
Bashar Rabat كتب:
الأخ الكريم, الأخت الكريمة,

جرب المثالين الموجودين في الملف المضغوط من المرفقات,

بالتوفيق

بصراحه مش عارفه أشكرك إزاي ..

كل اللي كنت عاوزاه لقيته في البرنامج دا ..

بجد شكرا جداً جداً ..

جزاك الله ألف خير ...

بس عندي سؤال في الكود نفسه لو سمحت ..

في البرنامج فيه GDDataSet - ContactsBindingSource - ContactsTableAdapter ..

دول إيه فايدتهم .. ممكن يكون سؤال غبي بس بصراحه ما درستهمش .. وحبيت استفيد ..

لأن انا درست اتصال بـ ado وبس ..

جزاك الله خيراً .. لك ولكل من أهتم بأسئلتي ..

.. لا إله إلا أنت سبحانك إني كنت من الطالمين ..

#15

حبيت ارفق لك جزء من البرنامج اللي شغاله عليه ..

لأن طريقه الاتصال بطريقه البيانات غير اللي ارفقتها في برنامج ..

بس عشان تكون الصوره واضحه عندك ..

ولو طريقه اتصالك أسهل وأصح يا ريت تقولي عليها ..

جزاك الله خيراً مجدداً ..

Bank.rar

تم تعديل هذه المشاركة بواسطة rokyyy في 3 أبريل 2009 في 16:29

.. لا إله إلا أنت سبحانك إني كنت من الطالمين ..

#16
Bashar Rabat كتب:
الأخ الكريم, الأخت الكريمة,

جرب المثالين الموجودين في الملف المضغوط من المرفقات,

بالتوفيق

** سؤال تاني من فضلك على البرنامج المرفق .. هو بيشتغل تمام ..

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

ليه ؟؟!!

.. لا إله إلا أنت سبحانك إني كنت من الطالمين ..

#17

مرحباً,

البرنامج يعمل بشكل سليم, لكنه لا يحفظ أي من البيانات المدخلة في وقت التشغيل أي عند إستخدامه تحت بيئة التنقيح, يمكنك تجربته عبر تشغيله من المجلد ----- Bin\Debug أو Bin\Release

بالنسبة للفرق بين الطريقتين أي المشروعين ( مشروعي و مشروعك ) هو أنني قمت بإنشاء الـ DataSet عن طريق استخدام الـ IDE لـ,

بالتوفيق

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#18
Bashar Rabat كتب:
مرحباً أخي الكريم,

2 - أضف التالي للـ ( ComboBox.KeyDown) :

  1. Private Sub ComboBox1_KeyDown(Byval Sender As System.Object, Byval E As System.KeyEventArgs )
    Handles ComboBox1.KeyDown E.Handled = True End Sub
  2.  

سؤال من فضلك ..

جربت دا الكود اللي انت حطيتو عشان امنع المستخدم من تحرير comboBox بس بيطلع خطأ تحت System.KeyEventArgs وأما اخليها System.EventArgs يحط خطأ على KeyPress و E.Handled ما الحل ؟!

.. لا إله إلا أنت سبحانك إني كنت من الطالمين ..

#19

يمكنك الاستغناء ن تلك الطريقة واستخدام ماأشار اليه السيد حسان :

HassanAlattas كتب:
السلام عليكــم ورحمـة الله وبركاتــه ،،

بالنسبة لـ Tap:

اسهل طريقة هي ان تفتح الفورم في المصمم ، وتستخدم امر Tab Order من القائمة View ، وبعد ذلك تنقر على مربع النص الأول ثم الثاني ، وهكذا، طبعا بالترتيب المطلوب. وبعد ما تنتهي انقر على نفس الأمر مرة ثانية.

وإذا اردت ان لا يتوقف التركيز على كنترول معين عند استخدام Tab فعين الخاصية TapStop له إلى False

بالنسبة لـ ComboBox : لا زم تغير الخاصية DropDownStyle إلى DropDownList عن طريق صفحة الخصائص في المصمم او عن طريق الكود بهذا الشكل

ComboBox1.DropDownStyle=ComboBoxStyle.DropDownList

هل يمكنك إدراج رسالة الخطأ إذا كنت تود استخدام تلك الطريقة ؟

بالتوفيق

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

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