لم يتم تحديد العناصر الموجودة في عنصر تحكم مربع تحرير وسرد أثناء كتابة الأحرف الأولى

الأعراض

يمكنك تعيين خاصية DropDownStyle لعنصر تحكم مربع تحرير وسرد إلى القائمة المنسدلة، وثم اكتب الأحرف الأولى من العنصر في مربع تحرير وسرد أثناء وقت التشغيل. العنصر المحدد في مربع تحرير وسرد غير متطابق مع الأحرف التي كتبتها. العنصر المحدد في مربع تحرير وسرد استناداً إلى الحرف الأخير الذي تقوم بكتابته. على سبيل المثال، إذا كانت العناصر الموجودة في مربع تحرير وسرد الأحمرو البلوطو ارتفع، عند كتابة رو في مربع تحرير وسرد، ينصب التركيز على البلوط بدلاً من الورد.

السبب

تحدث هذه المشكلة لأن البحث مربع تحرير وسرد يستند إلى حرف واحد بدلاً من مجموعة أحرف كاملة.

الحل البديل

لحل هذه المشكلة، إضافة التعليمات البرمجية التي تبحث عن عناصر باستخدام كافة الأحرف التي كتبتها في مربع تحرير وسرد. يجب أيضا تحديد الرمز العنصر الذي يطابق كافة الأحرف. لمسح نص البحث على فترات منتظمة، استخدم عنصر تحكم مؤقت . للقيام بذلك، اتبع الخطوات التالية:
  1. في Microsoft Visual Studio.NET أو في Microsoft Visual Studio 2005، يمكنك إنشاء تطبيق Windows جديد باستخدام Visual Basic.NET أو 2005 Visual Basic أو Visual C#.NET.

    بشكل افتراضي، يتم إنشاء Form1.
  2. من مربع الأدوات، اسحب مؤقت إلى Form1.
  3. في الإطار "خصائص"، تعيين الخاصية Enabledإلى True.
  4. إضافة العبارة التالية إلى المقطع تعريف متغير من التعليمات البرمجية:

    2005 Visual Basic أو Visual Basic.NET
    Dim searchstr As String
    Visual C#.NET
    string searchstr;
  5. أضف التعليمات البرمجية التالية إلى الحدث Load Form1:

    2005 Visual Basic أو Visual Basic.NET
    'set the timer interval and start the timerTimer1.Interval = 1000
    Timer1.Start()
    Visual C#.NET
    //set the interval  and start the timertimer1.Interval =1000;
    timer1.Start();
  6. أضف التعليمات البرمجية التالية إلى حدث التجزئة المؤقت 1:

    2005 Visual Basic أو Visual Basic.NET
    'empty the string for every 1 secondssearchstr = ""
    Visual C#.NET
    //empty the string for every 1 secondssearchstr="";
  7. إضافة التعليمات البرمجية التالية إلى إجراء الحدث KeyUp من ComboBox1:

    2005 Visual Basic أو Visual Basic.NET
          searchstr = searchstr & Chr(e.KeyValue)      ' If the Search string is greater than 1 then use custom logic
    If searchstr.Length > 1 Then
    Dim index As Integer
    ' Search the Item that matches the string typed
    index = ComboBox1.FindString(searchstr)
    ' Select the Item in the Combo
    ComboBox1.SelectedIndex = index
    End If
    Visual C#.NET
             searchstr = searchstr + Convert.ToChar(e.KeyCode);         // If the Search string is greater than 1 then use custom logic
    if (searchstr.Length > 1)
    {
    int index;
    // Search the Item that matches the string typed
    index=comboBox1.FindString(searchstr);
    // Select the Item in the Combo
    comboBox1.SelectedIndex=index;
    }

الحالة

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

مزيد من المعلومات

خطوات إعادة إنشاء المشكلة

  1. في Microsoft Visual Studio.NET أو في Microsoft Visual Studio 2005، يمكنك إنشاء تطبيق Windows جديد باستخدام Visual Basic.NET أو 2005 Visual Basic أو Visual C#.NET.

    بشكل افتراضي، يتم إنشاء Form1. ملاحظة: يجب تغيير التعليمات البرمجية في Visual Basic 2005. بشكل افتراضي، Visual Basic إنشاء ملفين للمشروع عند إنشاء مشروع Windows Forms. إذا تم تسمية النموذج Form1، الملفين تمثل النموذج تسمية Form1.vb و Form1.Designer.vb. كتابة التعليمات البرمجية في الملف Form1.vb. مصمم نماذج Windows بكتابة التعليمات البرمجية في ملف Form1.Designer.vb. مصمم نماذج Windows يستخدم الكلمة الأساسية الجزئية لتقسيم تطبيق Form1 إلى ملفين مستقلين. يمنع هذا السلوك التعليمة البرمجية التي تم إنشاؤها من قبل مصمم يتم interspersed مع التعليمات البرمجية الخاصة بك.

    لمزيد من المعلومات حول التحسينات لغة Visual Basic 2005 جديد، قم بزيارة موقع شبكة مطوري Microsoft (MSDN) التالي على الويب:

    لمزيد من المعلومات حول فئات جزئية ومصمم نماذج Windows، قم بزيارة موقع Msdn التالي:

  2. من مربع الأدوات، اسحب مربع تحرير وسرد إلى Form1.
  3. انقر نقراً مزدوجاً فوق ComboBox1، ومن ثم انقر فوق
    خصائص.
  4. في الإطار "خصائص"، انقر لتحديد
    DropDownStyle، ثم قم بتعيين الخاصية
    من القائمة المنسدلة.
  5. في الإطار "خصائص"، انقر لتحديد
    العناصر، ثم انقر فوق زر علامة القطع (.).
  6. في محرر مجموعة السلسلة، اكتب
    أحمر، أوك، و
    وردة على بنود مختلفة، ثم انقر فوق
    OK.
  7. في القائمة " تصحيح "، انقر فوق
    بدء تشغيل التطبيق.
  8. اكتب رو في ComboBox1.

المراجع

لمزيد من المعلومات، قم بزيارة موقع Msdn التالي:

خاصية ComboBox.DropDownStyle
http://msdn2.microsoft.com/en-us/library/system.windows.forms.combobox.dropdownstyle(vs.71).aspx
خصائص

رقم الموضوع: 814362 - آخر مراجعة: 15‏/01‏/2017 - المراجعة: 1

تعليقات