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

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

الصفحات: 1 2


ما الخطاء فى هذا الكود - الشاكي لله - 17-08-13

لماذا تريد عمل 1000 نسخة من usercontrol !!!!!


ما الخطاء فى هذا الكود - ali.alfoly - 17-08-13

انظر الصورة

[ATTACH=CONFIG]3780[/ATTACH]

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


ما الخطاء فى هذا الكود - الشاكي لله - 17-08-13

مافهمت

اذا تقدر ارفع المشروع اشوفه


ما الخطاء فى هذا الكود - ali.alfoly - 17-08-13

اتفضل اخى جزاك الله خيرا


ما الخطاء فى هذا الكود - الشاكي لله - 17-08-13

لا ارى خلل في المشروع !


ما الخطاء فى هذا الكود - ali.alfoly - 17-08-13

عدد الايتم فى اليست بوكس عندى اكثر من 800 فعملية البحث بتاخد وقت طويل فقررت استخدام الاداة BackgroundWorker عشان معطلش البرنامج اثناء البحث


ما الخطاء فى هذا الكود - الشاكي لله - 17-08-13

في الحقيقة انا لم اتعامل مع اداة backworker

يكفيني استعمال الThread

وقد قمت بعمل ذلك في برنامج بالاضافة الى بعض التعديلات الاخرى

لم الرفع البرنامج فاكواده ليست طويلة :

PHP كود :
Public Class Form1

    Dim th 
As New System.Threading.Thread(AddressOf doFind)

    Private 
Sub TextBox1_TextChanged(ByVal sender As System.ObjectByVal e As System.EventArgsHandles TextBox1.TextChanged

        
Try
            If (
th.ThreadState <> Threading.ThreadState.UnstartedThen
                th
.Abort()
                
th = New System.Threading.Thread(AddressOf doFind)
            
End If
        Catch 
ex As Exception

        End 
Try

        If 
Not TextBox1.Text.Trim() = "" Then
            th
.Start()
        
End If

    
End Sub

    Sub doFind
()
        
Dim txtBox As String Me.TextBox1.Text
        Dim txtLstBox 
As String

        Me
.Invoke(New MethodInvoker(Sub()
                                        
Me.FlowLayoutPanel1.Controls.Clear()
                                    
End Sub))


        For 
As Integer 0 To Me.ListBox_0.Items.Count 1

            txtLstBox 
Me.ListBox_0.Items.Item(y)
            
Dim i As Integer
            i 
InStr(txtLstBoxtxtBoxCompareMethod.Text)
            If 
0 Then
                Application
.DoEvents()
                
Dim itm As New UserControl1
                itm
.RichTextBox1.Text txtLstBox
                
'
                If txtBox <> "" Then
                    Me.Invoke(New MethodInvoker(Sub()
                                                    itm.RichTextBox1.SelectionStart = itm.RichTextBox1.Find(txtBox)
                                                    itm.RichTextBox1.SelectionBackColor = Color.Yellow
                                                End Sub))
                End If
                '
                
If Me.InvokeRequired Then
                    Me
.Invoke(New MethodInvoker(Sub()
                                                    
Application.DoEvents()
                                                    
Me.FlowLayoutPanel1.Refresh()
                                                    
Me.FlowLayoutPanel1.Controls.Add(itm)
                                                    
itm.CreateControl()
                                                
End Sub))
                
End If
            
End If
        
Next
    End Sub

End 
Class