تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] اريد جعل مساج بوكس في مصفوفة داخل class واناديها من فورم أخرى
#1
سلام عليكم اخوتي في الله
اريد ان اتعلم كيفيفة ادخال مساج بوكس في مصفوفة erry
مثلا  الكود التالي
إقتباس :            If TxtStudentName.Text = "" Then
                MsgBox("  يجب أدخال الاسم واللقب ")
                TxtStudentName.Focus()
                Return
            End If
            If TxtAddress.Text = "" Then
                MsgBox(" يجب أدخال العنوان ")
                TxtAddress.Focus()
                Return
            End If
            If TxtN_Fone.Text = "" Then
                MsgBox("  يجب أدخال رقم الهاتف")
                TxtN_Fone.Focus()
                Return
            End If
            If TxtJob.Text = "" Then
                MsgBox("يجب أدخال الوظيفة")
                TxtJob.Focus()
                Return
            End If

وانا عندي  فورمات كثيرة  فهذا فورم خاص بالطالب  وفورم خاص بالاستاذ وفورم خاصة بالدروس ,,,, إلخ
اريد ان ادخلها في كلاس بحث اناديها من اي فورم اخرى
 مثال عندي الكود التالي انا واضعو في كلاس واواريد ان اناديه من اي فورم اخرى  وهذا الكود عبارة عن تحويل Tab  إلى Enter  يعني إذا ضغطت على Enter يعمل عمل Tab  ويقفز من  txtBx إلى TxtBx
أخرى

إقتباس :(Sub senderd (e As KeyEventArgs
        If e.KeyCode = Keys.Enter Then
 ("{SendKeys.Send("{Tab
        End If
    End Sub
 واريد ان اناديها من فورم الطلاب في الحدث keyup
اكتب الكود التالي
  
إقتباس :  (MyConn.senderd(e

اريد نفس الطريقة بالنسبة msgbox  التي اعرف عليها في classe  وا ناديها في فورم الطلاب  سامحيوني على الإطالة في الموضوع
أفيدوني أفادكم الله وشكرا
الرد }}}}
تم الشكر بواسطة:
#2
الطريقه عملت لها مثال بالمرفق  ،///  طبعا غير اسماء الحقول من  textbox1  , textbox2  الى الحقول الخاصه بك


.rar   WindowsApplication2.rar (الحجم : 48.25 ك ب / التحميلات : 25)

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

الكلاس العام  :

كود :
Public Class MoveNextClass


    Public Shared Sub checkText(ByVal TargetForm As Form)
        For Each ctrl As Control In TargetForm.Controls
            If TypeOf ctrl Is TextBox Then
                If ctrl.Name = "TextBox1" And ctrl.Text = Nothing Then
                    MsgBox("  يجب أدخال الاسم واللقب ")
                    ctrl.Focus()
                    Exit Sub
                End If

                If ctrl.Name = "TextBox2" And ctrl.Text = Nothing Then
                    MsgBox("يجب أدخال العنوان")
                    ctrl.Focus()
                    Exit Sub
                End If


                If ctrl.Name = "TextBox3" And ctrl.Text = Nothing Then
                    MsgBox("  يجب أدخال رقم الهاتف")
                    ctrl.Focus()
                    Exit Sub
                End If


                If ctrl.Name = "TextBox4" And ctrl.Text = Nothing Then
                    MsgBox("يجب أدخال الوظيفة")
                    ctrl.Focus()
                    Exit Sub
                End If

            End If
        Next
    End Sub


    ''' <summary>
    ''' للانتقال الى الحقل التالي عند الضغط على انتر
    ''' </summary>
    ''' <param name="e"></param>
    ''' <remarks></remarks>
    Public Shared Sub gotoNextControl(ByVal TargetForm As Form, ByVal e As System.Windows.Forms.KeyPressEventArgs)
        If Char.IsControl(e.KeyChar) Then
            If e.KeyChar.Equals(Chr(Keys.Return)) Then
                TargetForm.SelectNextControl(TargetForm.ActiveControl, True, True, True, False)
                e.Handled = True
            End If
        End If


    End Sub

End Class



طريقة استخدام الكلاس  :


كود :
Imports System.Security.Cryptography
Imports System.Text

Public Class Form1
    Private Sub Fields_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox6.KeyPress, TextBox5.KeyPress, TextBox4.KeyPress, TextBox3.KeyPress, TextBox2.KeyPress, TextBox1.KeyPress
        Call MoveNextClass.gotoNextControl(Me, e)
    End Sub

 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MoveNextClass.checkText(Me)
    End Sub
End Class
اسم معرفي : محمد يحيى
الرد }}}}
تم الشكر بواسطة: biloo20
#3
سؤالك لطيف جدا لكن من الواصح انك سألته بدون ما تدرك أبعاده جيدا
و لأن السؤال عجبني اسمحي لي أجاوبك بشكل مختلف قليلا

اولا MessageBox من الممكن اضافتها الي مصفوفة ولكن علي هيئة DialogResult

و الكود التالي يوضح ذلك و هو عبارة عن كلاس بسيط يمكن استدعاؤه من اي مكان في مشروعك بل ويمكن الاستغناء عن الكلاس ان احببت و تستخدم الدالة الموجودة به في اي كلاس اخر بحيث تستدعيها بنفس مكان وجودها


PHP كود :
Friend NotInheritable Class Messages
    Public Shared Iterator 
Function GetMessages() As IEnumerable(Of Func(Of DialogResult))

 
       Yield Function() MessageBox.Show("يجب أدخال الاسم واللقب""Error")
 
       Yield Function() MessageBox.Show("يجب أدخال العنوان""Error")
 
       Yield Function() MessageBox.Show("يجب أدخال رقم الهاتف""Error")
 
       Yield Function() MessageBox.Show("يجب أدخال الوظيفة""Error")

 
       ' Add more messagees with the smae way
        Return
    End Function
End Class 


الدالة الموجودة في الكلاس أعلاه توضح كيفية اضافة اي عدد من الرسائل انت تريده
و يتم استرجاع اي رسالة من المصفوفة عن طريق تمرير index الخاص بها فقط لا غير

و الكود التالي يوضح ذلك

PHP كود :
       For i As Integer 0 To Messages.GetMessages().Count 1
            Messages
.GetMessages()(i)()

 
       Next 

الأن لنعود الي الكود الخاص بك و كيف نستخدم نفس الأسلوب لاستعادة رسالة ما
انا طبعا لم أعدل في الكود الخاص بك و لا اعلم هل به أخطاء ام لا و لكني استخدمته كما هو لتوضيح كيفية اظهار الرسالة المطلوبة مع كل تكست بوكس


PHP كود :
       If TxtStudentName.Text "" Then
            Messages
.GetMessages()(0)()
 
           TxtStudentName.Focus()
 
           Return
        End 
If

 
       If TxtAddress.Text "" Then
            Messages
.GetMessages()(1)()
 
           TxtAddress.Focus()
 
           Return
        End 
If
 
       If TxtN_Fone.Text "" Then
            Messages
.GetMessages()(2)()
 
           TxtN_Fone.Focus()
 
           Return
        End 
If
 
       If TxtJob.Text "" Then
            Messages
.GetMessages()(3)()
 
           TxtJob.Focus()
 
           Return
        End 
If 
الرد }}}}
تم الشكر بواسطة: biloo20 , myalsailamy
#4
شكرا أخي الكريم  جزاك الله عنكا كل خير Blush

اخي والله فرحت لأنك فهمت قصدي  انا رأيت كورس للأستاذ أحمد نجار ربط فيه SQL  مع VB.NET  فدرتسه  وفهمت اعجبني اللوب تعلن عن متغير في كلاس وتناديه في اي مكان آخر
شكرا لك اخي لكن لم فاهم ممكن تشرحلي الكود
الرد }}}}
تم الشكر بواسطة:
#5
هذا حل أسهل لك قليلا حتي لا تدخل في متاهة مع Index
وهذا اصبح أسهل لأنك هنا تتعامل مع Enum باسماء الرسائل

اضف الكلاسات التالية الي مشروعك

PHP كود :
Friend NotInheritable Class Messages

    Public Shared 
Function GetMessage(kind As MessagesKind) As DialogResult
        Select 
Case kind
            Case MessagesKind
.Name
                Return GetMessages
()(CInt(MessagesKind.Name))()

 
           Case MessagesKind.Address
                Return GetMessages
()(CInt(MessagesKind.Address))()

 
           Case MessagesKind.Phone
                Return GetMessages
()(CInt(MessagesKind.Phone))()

 
           Case MessagesKind.Occupation
                Return GetMessages
()(CInt(MessagesKind.Occupation))()

 
       End Select
        Return Nothing
    End 
Function

 
   Private Shared Iterator Function GetMessages() As IEnumerable(Of Func(Of DialogResult))

 
       Yield Function() MessageBox.Show("يجب أدخال الاسم واللقب""Error")
 
       Yield Function() MessageBox.Show("يجب أدخال العنوان""Error")
 
       Yield Function() MessageBox.Show("يجب أدخال رقم الهاتف""Error")
 
       Yield Function() MessageBox.Show("يجب أدخال الوظيفة""Error")

 
       ' Add more messagees with the smae way
        Return
    End Function

End Class

Public Enum MessagesKind
    Name = 0
    Address = 1
    Phone = 2
    Occupation = 3
End Enum 

و الكود التالي يوضح التعديل و طريقة الاستخدام مع الكود الخاص بك

PHP كود :
       If TxtStudentName.Text "" Then
            Messages
.GetMessage(MessagesKind.Name)
 
           TxtStudentName.Focus()
 
           Return
        End 
If

 
       If TxtAddress.Text "" Then
            Messages
.GetMessage(MessagesKind.Address)
 
           TxtAddress.Focus()
 
           Return
        End 
If
 
       If TxtN_Fone.Text "" Then
            Messages
.GetMessage(MessagesKind.Phone)
 
           TxtN_Fone.Focus()
 
           Return
        End 
If
 
       If TxtJob.Text "" Then
            Messages
.GetMessage(MessagesKind.Occupation)
 
           TxtJob.Focus()
 
           Return
        End 
If 

أنت فقط و بشكل مبدئي يجب أن تتعلم المصفوفات و كيفية بناء مصفوفة فهذا الأمر هام جدا و أساسي لأي مبرمج
ادرس المصفوفات و بعدين نتناقش و ثق تماما انك لو فهمت المصفوفات فلن تحتاج لأي نقاش
الرد }}}}
تم الشكر بواسطة: عدنان الشمري , عدنان الشمري
#6
حسننا سأدرس المصفوفات شكرا لك أستاذنا جزاك الله كل خير  تقبل الله حسن عملك  وزادك الله حرصا للخير
شكرا لك
الرد }}}}
تم الشكر بواسطة:
#7
تفضل اخي زيادة على الي وضعوة الاخوة مشكورين يعني زياده الخير خيرين

ضع هذا بالكلاس


Public Sub msg_err()

MsgBox("الإدخــــــــال إجــــــــباري", MsgBoxStyle.Exclamation + MsgBoxStyle.MsgBoxRight, "خطـأ")


End Sub



وهذا في الاستدعاء داخل البتون



If TxtStudentName.Text = "" Then

MyConn.msg_err()

TxtStudentName.Focus()
Exit Sub
End If
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تحميل قيم اكبرid فى الداتا جريد فيو داخل تسكت بوكس araxis 1 26 منذ 2 ساعة مضت
آخر رد: ابراهيم النعيمي
  اريد كود يضغط على F1 بسرعه اقل من ثانيه mohamedabd 1 33 منذ 2 ساعة مضت
آخر رد: ابراهيم النعيمي
  الرصيد الافتتاحي داخل داتا جريد فيو السيد الجوهري 0 49 أمس, 10:05 PM
آخر رد: السيد الجوهري
  الحذف من قاعدة البيانات بدلات تشيك بوكس في داتا جريدفيو makky 2 84 أمس, 11:16 AM
آخر رد: superwoofer
  ازاى اما اكتب داتا فى التكست بوكس يدور عليها فى اى سطر ويزود على cell تانية 1 araxis 15 220 07-12-16, 09:50 PM
آخر رد: ابراهيم النعيمي
Information [VB.NET] مساعده في الفيجوال بيسك هل اقدر اسوي اكثر من فورم a_abdullah 4 96 07-12-16, 02:39 PM
آخر رد: a_abdullah
  ازاى اما اكتب قيمة فى التكست بوكس يتاكد انها مش موجودة فى الداتا جريدفيو araxis 1 56 07-12-16, 11:22 AM
آخر رد: ممدوح الخطيب
  [VB.NET] اريد كود للبرنامج التالي بطريقة general procedures a_abdullah 2 58 05-12-16, 02:18 PM
آخر رد: a_abdullah
  [سؤال] تغير لون كتابة التيكست بوكس ؟ Mido9 5 2,378 30-11-16, 10:16 PM
آخر رد: omferas
Music طلب : كود ترتيب مصفوفة ثنائية تصاعدياً + كود ضرب مصفوفة ثنائية سوسن جاد الله 2 70 27-11-16, 09:29 AM
آخر رد: amgad525

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم