Nejsou vybrány položky v ovládacím prvku pole se seznamem během psaní prvních znaků

Překlady článku Překlady článku
ID článku: 814362 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Nastavit Má vlastnost DropDownStyle Vlastnost Komponenta ComboBox ovládacího prvku Typ součásti DropDownLista pak zadejte prvních znaků položky v Komponenta ComboBox v době spuštění. Položka vybraná v Komponenta ComboBox neodpovídá zadávané znaky. Zboží, které je vybrané v Komponenta ComboBox je založena na poslední znak, který zadáte. Například pokud položky v Komponenta ComboBox jsou červená, dub, a vzrostl, když zadáte ro v Komponenta ComboBox, je aktivní dub místo vzrostl.

Příčina

K tomuto problému dochází, protože Komponenta ComboBox hledání je založeno na jeden znak namísto úplnou Znaková sada.

Jak potíže obejít

Chcete-li tento problém vyřešit, přidejte kód, který hledá položky se všechny znaky, které zadáte v Komponenta ComboBox. Kód, musíte také vybrat zboží, které nejvíce odpovídá všem znaky. Chcete-li vymazat hledaný text v pravidelných intervalech, použijte Časovač ovládací prvek. Chcete-li to provést, postupujte takto:
  1. V aplikaci Microsoft Visual Studio.NET nebo Microsoft Visual Studio 2005, vytvořit nový systém Windows aplikace v jazyce Visual Basic.NET, 2005 jazyka Visual Basic nebo Visual C#.NET.

    Ve výchozím nastavení, Je vytvořen formulář Form1.
  2. Z panelu nástrojů přetáhněte Časovač do formuláře Form1.
  3. V okně vlastnosti nastavena PovolenoVlastnost PRAVDA.
  4. Přidat následující deklaraci proměnné část kódu:

    Visual Basic.NET nebo jazyka Visual Basic 2005
    Dim searchstr As String
    Visual C#.NET
    string searchstr;
  5. Přidejte následující kód Zatížení událost z formulář1:

    Visual Basic.NET nebo jazyka Visual Basic 2005
    'set the timer interval and start the timer
    Timer1.Interval = 1000
    Timer1.Start()
    Visual C#.NET
    //set the interval  and start the timer
    timer1.Interval =1000;
    timer1.Start();
  6. Přidejte následující kód Značky událost z Timer1:

    Visual Basic.NET nebo jazyka Visual Basic 2005
    'empty the string for every 1 seconds
    searchstr = ""
    Visual C#.NET
    //empty the string for every 1 seconds
    searchstr="";
  7. Přidejte následující kód KeyUp událost z ComboBox1:

    Visual Basic.NET nebo jazyka Visual Basic 2005
          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;
             }

Prohlášení

To chování je záměrné.

Další informace

Kroky pro reprodukci tohoto chování

  1. V aplikaci Microsoft Visual Studio.NET nebo Microsoft Visual Studio 2005, vytvořit nový systém Windows aplikace v jazyce Visual Basic.NET, 2005 jazyka Visual Basic nebo Visual C#.NET.

    Ve výchozím nastavení, Je vytvořen formulář Form1.Poznámka: Je nutné změnit kód v jazyce Visual Basic 2005. Ve výchozím nastavení vytvoří aplikace Visual Basic dva soubory projektu při vytvoření projektu model Windows Forms. Pokud formulář pojmenován Formulář1, dva soubory, které představují formuláře jsou pojmenovány, Form1.vb a Form1.Designer.vb. Píšete kód v souboru Form1.vb. Návrhář model Windows Forms zapíše kód v souboru Form1.Designer.vb. Návrhář model Windows Forms používá klíčové slovo částečné provádění formulář1 rozdělit do dvou samostatných souborů. Toto chování zabrání je proloženo kódu generovaném kódu.

    Další informace o nová vylepšení jazyka Visual Basic 2005 naleznete na webu Microsoft Developer Network (MSDN):
    http://msdn2.microsoft.com/en-us/library/ms379584 (vs.80) .aspx
    Další informace o částečné třídy a Návrhář model Windows Forms naleznete na webu MSDN:
    http://msdn2.microsoft.com/en-us/library/ms171843.aspx
  2. Z panelu nástrojů přetáhněte Komponenta ComboBox k Formulář1.
  3. Klepněte pravým tlačítkem myši ComboBox1a klepněte na tlačítkoVlastnosti.
  4. V okně Vlastnosti klepněte na tlačítko VybratMá vlastnost DropDownStylea pak nastavte vlastnost naTyp součásti DropDownList.
  5. V okně Vlastnosti klepněte na tlačítko VybratPoložkya pak klepněte na tlačítko elipsy (...).
  6. V Editor kolekce řetězců, typčervená, dub, avzrostl na různých řádcích a potom klepněte na tlačítkoOK.
  7. V Ladění nabídky, klepněte na tlačítkoSpustit Spusťte aplikaci.
  8. Typ ro v ComboBox1.

Odkazy

Další informace naleznete na následujícím webu MSDN Server:

Vlastnost ComboBox.DropDownStyle
http://msdn2.microsoft.com/en-us/library/System.Windows.Forms.ComboBox.DropDownStyle (vs.71) .aspx

Vlastnosti

ID článku: 814362 - Poslední aktualizace: 20. května 2011 - Revize: 4.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.0
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Klíčová slova: 
kbvs2005swept kbvs2005applies kbctrl kbcontrol kbproperties kbdisplay kbwindowsforms kbcombobox kbprb kbmt KB814362 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:814362

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com