تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال بخصوص button
#11
حاول تقرأ الكود(كأنك أنت البرنامج) وأنت راح تعرف كيف بيشتغل سطر سطر..
لا تفكر بالنسخ واللصق --- حتى لو اشتغل معك البرنامج 100 %

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

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

مش كل مرة راح تلاقي اللي يعرف يصلح وراك..
قبل ما تنفذ أي كود حاول تفهم : شو؟ وليش؟ ووين؟ ولوين؟ رايح هذا الكود هو، ومدخلاته، ومخرجاته..

على كل .. هذا تعديل على كامل الكود في جزئية برنامجك، ضعه في نافذة الكود ..

كود :
Imports System.Data.OleDb

Public Class Form1

    Dim con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\DB_FLP.mdb;Jet OLEDB:Database Password=")

    Dim dp As New OleDbDataAdapter("Select * From Tbl order by Nam", con)

    Dim ds As New DataSet

    Dim dt As DataTable

    Dim num2 As Integer     ' عدد السجلات ضمن الجدول
    Dim i As Integer = 0    ' مكان المؤشر الحالي في الجدول
    Dim R1 As Integer = 20  ' معدل التغير -- وهو ثابت تحدده من بداية عمل البرنامج أو من الكود
    Dim j As Integer = R1   '  المدى : مدى حركة المؤشر ضمن الحلقة


    Dim str1 As String = ""         ' شغلة للتبسيط
    Dim FirstChar As String = " "   ' أول حرف من الشغلة الحالية
    Dim Fi1 As String = " "         ' أول حرف من شغلة منتهية

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Button2.Text = "التالي"
        Button2.Enabled = False
        Button3.Text = "السابق"
        Button3.Enabled = False
    End Sub


    Private Sub FlowLayoutPanel1_Scroll(sender As Object, e As ScrollEventArgs) Handles FlowLayoutPanel1.Scroll
        '  Button2_Click(Nothing, Nothing)
    End Sub



    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        dp.Fill(ds)

        dt = ds.Tables.Item(0)

        num2 = (dt.Rows.Count - 1)
        Me.FlowLayoutPanel1.Controls.Clear()

        Do While (i <= num2)
            TA_FillData()

            i += 1
            If i = j Then Exit Do
        Loop

        Button2.Enabled = True
        Button1.Enabled = False
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        j = j - R1 : If j < 0 Then j = R1
        i = i - 2 * R1 : If i < 0 Then i = 0

        If i = 0 Then Button3.Enabled = False
        If j < num2 Then Button2.Enabled = True

        Try

            Me.FlowLayoutPanel1.Controls.Clear()

            Do While (i <= num2)
                TA_FillData()

                i += 1
                If i = j Then Exit Do
            Loop
        Catch ex As Exception
            MsgBox(ex.Message)
            Exit Sub
        End Try
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        j = j + R1

        Try

            Me.FlowLayoutPanel1.Controls.Clear()

            Do While (i <= num2)

                TA_FillData()

                i += 1
                If i = j Then Exit Do
            Loop

        Catch ex As Exception
            MsgBox(ex.Message)
            Exit Sub
        End Try

        If i = num2 + 1 Then Button2.Enabled = False
        If i > 0 Then Button3.Enabled = True
    End Sub

    Sub TA_FillData()
        str1 = dt.Rows.Item(i).Item("nam").ToString
        FirstChar = Mid(str1, 1, 1)
        FirstChar = UCase(FirstChar.Replace("إ", "أ").Replace("آ", "أ"))

        If (i = 0) Or (FirstChar <> Fi1) Then
            Dim uc1 As New UserControl1
            uc1.Label1.Text = FirstChar

            If (Asc(FirstChar) >= 65 And Asc(FirstChar) <= 90) Or (Asc(FirstChar) >= 97 And Asc(FirstChar) <= 122) Then
                uc1.Label1.Left = uc1.Left + 10
            Else
                uc1.Label1.Left = uc1.Width - uc1.Label1.Width - 10
            End If

            Me.FlowLayoutPanel1.Controls.Add(uc1)

            uc1.Label1.Font = New Font(uc1.Label1.Font.Name, uc1.Label1.Font.Size - 2, FontStyle.Bold)
            uc1.Label1.ForeColor = Color.WhiteSmoke
            uc1.BackColor = Color.LightGray
            uc1.Height = uc1.Height * 2 / 3
            uc1.Label1.Top = (uc1.Height - uc1.Label1.Height) / 2
            Fi1 = FirstChar

        End If

        Dim uc As New UserControl1
        uc.Label1.Text = dt.Rows.Item(i).Item("nam").ToString

        If (Asc(FirstChar) >= 65 And Asc(FirstChar) <= 90) Or (Asc(FirstChar) >= 97 And Asc(FirstChar) <= 122) Then
            uc.Label1.Left = uc.Left + 20
        Else
            uc.Label1.Left = uc.Width - uc.Label1.Width - 20
        End If

        Me.FlowLayoutPanel1.Controls.Add(uc)
    End Sub

    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
        Me.Text = Asc(TextBox1.Text)
    End Sub
End Class
وفي المرفقات المثال بعد التعديل


الملفات المرفقة
.rar   ترتيب وعرض الأسماء أبجدياً.rar (الحجم : 62.75 ك ب / التحميلات : 26)
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
#12
مشكور جدا وراح اجرب
الرد }}}
تم الشكر بواسطة:
#13
مساء النور والسرور عليكم جميعاً!
لإضافة زر (Button) فوق عنصر آخر مثل DataGridView أو FlowLayoutPanel، يمكنك استخدام مكون Panel كطبقة أساسية لتنظيم العناصر.
الخطوات التالية توضح كيفية القيام بذلك:
  1. قم بإضافة مكون Panel إلى النموذج الخاص بك (Form).
  2. تأكد من أن خاصية BackColor لمكون Panel مطابقة للون الخلفية للنموذج الخاص بك، حتى يظهر شفافاً.
  3. قم بإضافة مكون DataGridView أو FlowLayoutPanel إلى مكون Panel. حدد الموقع وقم بتعديل حجمه حسب الضرورة.
  4. قم بإضافة مكون Button إلى مكون Panel. حدد الموقع وقم بتعديل حجمه حسب الضرورة.
  5. يمكنك الآن تحريك مكون Button بحيث يظهر فوق DataGridView أو FlowLayoutPanel. يمكنك استخدام خاصية Location لتحديد الموقع الدقيق للزر بناءً على إحداثيات X و Y.
يرجى مراعاة أنه يجب وضع كل من DataGridView و Button داخل مكون Panel، وليس داخل بعضهما البعض. يعمل مكون Panel كحاوية تمكنك من ترتيب وتنظيم العناصر الأخرى بداخله.
الرد }}}
تم الشكر بواسطة:



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


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