منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
محتاج كود التنقبل بين الاسطر التالي والسابق في TextBox - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : محتاج كود التنقبل بين الاسطر التالي والسابق في TextBox (/showthread.php?tid=34180)

الصفحات: 1 2


محتاج كود التنقبل بين الاسطر التالي والسابق في TextBox - shady2020 - 05-04-20

محتاج مساعدة ضروري 
عملت برنامج وفاضل زر التنقل بين السطور في قائمة test box 
مع العلم اسم الزر التالي Button 2
والزر السابقButton 3

واسم قائمة الاسماء التي تحتوي على السطور  التي نحتاج التنقبل بها Text Box 2


وشكرا لكم لمساعدتكم



RE: محتاج كود التنقبل بين الاسطر التالي والسابق في TextBox - aljzazy - 05-04-20

ضع كود ليتم المساعدة


RE: محتاج كود التنقبل بين الاسطر التالي والسابق في TextBox - shady2020 - 05-04-20

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
TextBox1.Text = TextBox2.Text

If TextBox1.TextLength = 0 Then
MsgBox("انسخ الرقم")
Else
Clipboard.SetText(TextBox2.Text)
End If
End Sub

هذا الكود تاع الزر محتاج اكمل الكود ليتم التنقل بين سطور القائمة
TextBox2
هذا الكود ينقل ما يوجد داخل التكست بوكس 2 ويعرضه داخل تكست1 ويتم نسخو من داخل تكست 1 ولكن يتم نسخ جميع محتويات التسكست محتاج ان يتم التنقل لسطر الثاني ويتم عرضو في تكست 1 ليتم نسخ من التكست 1Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
TextBox1.Text = TextBox2.Text

If TextBox1.TextLength = 0 Then
MsgBox("انسخ الرقم")
Else
Clipboard.SetText(TextBox2.Text)
End If
End Sub


RE: محتاج كود التنقبل بين الاسطر التالي والسابق في TextBox - aljzazy - 05-04-20

تفضل هذا مثال كامل على ازرارالتنقل بين السجلات


RE: محتاج كود التنقبل بين الاسطر التالي والسابق في TextBox - shady2020 - 05-04-20

مشكور على المشاعدة
هذا ملف للتوضيح

https://drive.google.com/file/d/1pu3xuuC-WEbfajf_qdYx00VaivJStVzt/view?usp=sharing


RE: محتاج كود التنقبل بين الاسطر التالي والسابق في TextBox - ابراهيم ايبو - 05-04-20

السلام عليكم ورحمة الله وبركاته
قرات السؤال اكثر من 20 مرة والذي فهمته 
ان لديك TextBox (تحديدا) وفيه عدد من الاسطر 
تريد الانتقال من سطر الى أخر صعودا او هبوطا
لكن دائما نعاني من مشكلة توصيف السائل للحالة المطلوب الاجابة عليها
1 - ان كان التنقل بين سجلات في قاعدة البيانات فالمثال الذي اورده لك اخي Aljazazy مشكورا جزاه الله خيرا
2 - ان كان التنقل بين سطور الـ textBox وليس لها اي علاقة مع سجلات قاعدة البيانات فهنا توجد بعض الاشكاليات
أ- يجب ان تكون السطور لها تمييز حتى يمكن تحديد سطر ما بدلالة التمييز ( بالرغم ان الامر يحتاج الى ايجاد كود)
ب - من الافضل والاصح والاسهل في كتابة الكود هو ان تستخدم ListBox  بدل الـ TextBox  وبهذا يمكن ربطها مع السجلات ايضا
نصيحة عامة :
كلما كان توصيف السؤال واضحا كلما تمت الاجابة بسرعة
دمت بخير اخي الكريم
الملف الذي ارفقته انت للتوضيح فيه فيروس لم نتمكن من مشاهدته

ان استعملت listBox فهذين الكودين للانتقال بين العناصر هبوطا وصعودا
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       If ListBox1.SelectedIndex = ListBox1.Items.Count - 1 Then
           ListBox1.SelectedIndex = ListBox1.Items.Count - 1
           MsgBox("هذا اخر عنصر")
       Else
           ListBox1.SelectedIndex = ListBox1.SelectedIndex + 1
       End If


   End Sub

   Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       If ListBox1.SelectedIndex = 0 Then
           ListBox1.SelectedIndex = 0
           MsgBox("هذا اول عنصر")
       Else
           ListBox1.SelectedIndex = ListBox1.SelectedIndex - 1
       End If
   End Sub



RE: محتاج كود التنقبل بين الاسطر التالي والسابق في TextBox - سامي محمد - 06-04-20

أعتقد يا اخ ابراهيم ان السائل يريد التنقل في حقل ادخال Textbox
فلربما تكون المدخلات يدوية
---------
هذا الكود تستطيع من خلالة التنقل بين اسطر التكس

كود :
 'متغير في قسم التصريحات العامة

    Dim i As Integer = -1
  Dim i As Integer = -1
  'التالي
        If i = TextBox2.Lines.Count - 1 Then i = -1
        i += 1
        TextBox1.Text = TextBox2.Lines(i)

   'السابق
        If i <= 0 Then i = TextBox2.Lines.Count
        i -= 1
        TextBox1.Text = TextBox2.Lines(i)



RE: محتاج كود التنقبل بين الاسطر التالي والسابق في TextBox - shady2020 - 06-04-20

(05-04-20, 08:21 PM)aljzazy كتب : تفضل هذا مثال كامل على ازرارالتنقل بين السجلات

(06-04-20, 02:03 AM)سامي محمد كتب : أعتقد يا اخ ابراهيم ان السائل يريد التنقل في حقل ادخال Textbox
فلربما تكون المدخلات يدوية
---------
هذا الكود تستطيع من خلالة التنقل بين اسطر التكس

كود :
 'متغير في قسم التصريحات العامة

    Dim i As Integer = -1
  Dim i As Integer = -1
  'التالي
        If i = TextBox2.Lines.Count - 1 Then i = -1
        i += 1
        TextBox1.Text = TextBox2.Lines(i)

   'السابق
        If i <= 0 Then i = TextBox2.Lines.Count
        i -= 1
        TextBox1.Text = TextBox2.Lines(i)

يسلمو على المساعدات وفعلا المدخلات يدوية ولا ايد ان ادخل في قصص الاكسل والاكسس وسجلات كل الفكرة مثل ما تكلم عنها الاخ سامي ومشكو
رين على الاجابات

(05-04-20, 09:24 PM)ابراهيم ايبو كتب : السلام عليكم ورحمة الله وبركاته
قرات السؤال اكثر من 20 مرة والذي فهمته 
ان لديك TextBox (تحديدا) وفيه عدد من الاسطر 
تريد الانتقال من سطر الى أخر صعودا او هبوطا
لكن دائما نعاني من مشكلة توصيف السائل للحالة المطلوب الاجابة عليها
1 - ان كان التنقل بين سجلات في قاعدة البيانات فالمثال الذي اورده لك اخي Aljazazy مشكورا جزاه الله خيرا
2 - ان كان التنقل بين سطور الـ textBox وليس لها اي علاقة مع سجلات قاعدة البيانات فهنا توجد بعض الاشكاليات
أ- يجب ان تكون السطور لها تمييز حتى يمكن تحديد سطر ما بدلالة التمييز ( بالرغم ان الامر يحتاج الى ايجاد كود)
ب - من الافضل والاصح والاسهل في كتابة الكود هو ان تستخدم ListBox  بدل الـ TextBox  وبهذا يمكن ربطها مع السجلات ايضا
نصيحة عامة :
كلما كان توصيف السؤال واضحا كلما تمت الاجابة بسرعة
دمت بخير اخي الكريم
الملف الذي ارفقته انت للتوضيح فيه فيروس لم نتمكن من مشاهدته

ان استعملت listBox فهذين الكودين للانتقال بين العناصر هبوطا وصعودا
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       If ListBox1.SelectedIndex = ListBox1.Items.Count - 1 Then
           ListBox1.SelectedIndex = ListBox1.Items.Count - 1
           MsgBox("هذا اخر عنصر")
       Else
           ListBox1.SelectedIndex = ListBox1.SelectedIndex + 1
       End If


   End Sub

   Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       If ListBox1.SelectedIndex = 0 Then
           ListBox1.SelectedIndex = 0
           MsgBox("هذا اول عنصر")
       Else
           ListBox1.SelectedIndex = ListBox1.SelectedIndex - 1
       End If
   End Sub

شكرا لك اخي على الاجابات الرائعة ونحن دائما نتعلم كل جديد

(06-04-20, 02:03 AM)سامي محمد كتب : أعتقد يا اخ ابراهيم ان السائل يريد التنقل في حقل ادخال Textbox
فلربما تكون المدخلات يدوية
---------
هذا الكود تستطيع من خلالة التنقل بين اسطر التكس

كود :
 'متغير في قسم التصريحات العامة

    Dim i As Integer = -1
  Dim i As Integer = -1
  'التالي
        If i = TextBox2.Lines.Count - 1 Then i = -1
        i += 1
        TextBox1.Text = TextBox2.Lines(i)

   'السابق
        If i <= 0 Then i = TextBox2.Lines.Count
        i -= 1
        TextBox1.Text = TextBox2.Lines(i)

نعم اخي سامي مشكور لجهودك نجح الكود ولكن يعرض فقط اول سطر من اعلى  واخر سطر من اسفل فما الحل ؟؟
بان كل ضغطة زر ينتقل لسطر الثاني


RE: محتاج كود التنقبل بين الاسطر التالي والسابق في TextBox - سامي محمد - 06-04-20

يبدو انك ادخلت المتغير داخل حدث النقر 

إقتباس :Dim i As Integer = -1

أخرج هذا المتغير من حديث النقر .... وجعله في قسم التصريحات العامة

----------------
ليكون في النهاية بهذا الشكل
    'متغير في قسم التصريحات العامة

كود :
    Dim i As Integer = -1
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        'التالي
        If i = TextBox2.Lines.Count - 1 Then i = -1
        i += 1
        TextBox1.Text = TextBox2.Lines(i)
    End Sub
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
         'السابق
        If i <= 0 Then i = TextBox2.Lines.Count
        i -= 1
        TextBox1.Text = TextBox2.Lines(i)
    End Sub

تم التعديل جربة الآن


RE: محتاج كود التنقبل بين الاسطر التالي والسابق في TextBox - shady2020 - 06-04-20

(06-04-20, 04:38 AM)سامي محمد كتب : يبدو انك ادخلت المتغير داخل حدث النقر 

إقتباس :Dim i As Integer = -1

أخرج هذا المتغير من حديث النقر .... وجعله في قسم التصريحات العامة

----------------
ليكون في النهاية بهذا الشكل
    'متغير في قسم التصريحات العامة

كود :
    Dim i As Integer = -1
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        'التالي
        If i = TextBox2.Lines.Count - 1 Then i = -1
        i += 1
        TextBox1.Text = TextBox2.Lines(i)
    End Sub
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
         'السابق
        If i <= 0 Then i = TextBox2.Lines.Count
        i -= 1
        TextBox1.Text = TextBox2.Lines(i)
    End Sub

تم التعديل جربة الآن

يسلمو يارب ومشكور كثير نجح الكود وتم التنقل بين السجلات ولكن عند نهاية السجل في زر التالي تظهر هذه الرسالة 
System.IndexOutOfRangeException: 'الفهرس خارج حدود الصفيف.'

تم نجاح الكود يسلمو يارب ومشكوووووووووور كثير 
الخلل طلع مع عندي بدل ما اضع - وضعت + وتم حل الموضوع