0

私はこのコードを持っています:

private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
     if (listBox1.SelectedItem != null)
     {
          item = listBox1.SelectedItem.ToString();
     }
}

次に、デザイナーで listBox1 がオンになっている Form の Load イベントで、次のことを行いました。

private void NewForm_Load(object sender, EventArgs e)
{
     this.Size = new Size(416, 506);
     this.Location = new Point(23, 258);
     listBoxIndexs();
     this.listBox1.SelectedIndex = 0;
}

listBoxIndexs() は次のとおりです。

private void listBoxIndexs()
{
     for (int i = 0; i < Form1.test.Count; i++)
     {
          listBox1.Items.Add(Form1.test[i]);
     }
}

Load イベントでは、次のことを行いました。

this.listBox1.SelectedIndex = 0;

したがって、このフォームに表示すると、インデックス 0 が既に選択されているときに listBox が表示されます。問題は、キーの矢印を上下に使用してアイテム間を移動すると、selectedIndex が常に 0 のままになっているアイテムの周りのフレームのみが表示されることです。

どうすれば修正できますか?

の後に this.listBox1.SelectedIndex = 0;も追加しようとしましlistBox1.Select();たが、役に立ちませんでした。

Visual Studio c# 2010 pro .net 4 Client Profile を使用しています。

4

1 に答える 1

3

ListBox.SelectionModeが に設定されていることを確認してくださいOne

MultiSimpleまたはに設定するとMultiExtended、ユーザーがスペースバーまたはマウス ボタンを使用して項目を選択した場合にのみ、選択が行われます。これらのモードの矢印キーは、選択マーキーを移動するだけです。

于 2012-11-27T19:16:30.143 に答える