0

さて、画像が機能していなかったので、ここにコード自体があります

private void textBox_KeyUp(object sender, KeyEventArgs e)
    {
        listBox1 = new ListBox();
        Controls.Add(listBox1);


        var x = textBox1.Left;
        var y = textBox1.Top + textBox1.Height;
        var width = textBox1.Width + 20;
        const int height = 40;

        listBox1.SetBounds(x, y, width, height);
        listBox1.KeyDown += listBox1_SelectedIndexChanged;

        List<string> localList = list.Where(z => z.StartsWidth(textBox1.Text)).toList();
        if (localList.Any() && !string.IsNullOrEmpty(textBox1.Text))
        {
            listBox1.DataSource = localList;
            listBox1.Show();
            listBox1.Focus();
        }

    }

    void listBox_SelectedIndexChanged(object sender, KeyEventArgs e)
    {
        if (e.KeyValue == (decimal)Keys.Enter)
        {
            textBox1.Text = ((ListBox)sender).SelectedItem.ToString();
            listBox1.Hide();
        }
    }

私はいくつかのエラーに遭遇し、誰かが私を助けてくれるかどうか疑問に思っていました. この質問への回答を使用しています。どんな助けでも大歓迎です。

現在の問題は次のとおりです。

listBox1.KeyDown += listBox1_SelectedIndexChanged ;

list localList = list .Where(z => z.StartsWidth(textBox1.Text)).toList();

私のエラーは太字で強調表示されています。

4

1 に答える 1

3

メソッドがありませんlistbox1_SelectedIndexChanged。だから変える

listBox1_SelectedIndexChanged

listBox_SelectedIndexChanged

Listを太字にしました。それは、あなたが私たちに見せていないオブジェクトのリストでなければなりません。名前を変更します。

注:コピーするときは、コードで定義されているとおりに名前を変更してください。

于 2013-08-03T19:15:12.027 に答える