2秒ごとにリストボックスの選択インデックスのインデックスを変更したいと思います。スレッドボックスを使用して2秒ごとにlistBoxの選択されたインデックスを変更します
public Form1()
{
InitializeComponent();
listBox1.Items.Add("A");
listBox1.Items.Add("B");
listBox1.Items.Add("C");
listBox1.Items.Add("D");
listBox1.Items.Add("E");
listBox1.Items.Add("F");
}
public void SelectEvery2Sec()
{
System.Windows.Forms.Timer timer=new System.Windows.Forms.Timer();
for (int i = 0; i < listBox1.Items.Count; i++)
{
timer.Start();
listBox1.SelectedIndex = i;
try
{
Thread.Sleep(2000);
}
catch{}
if(i == listBox1.Items.Count -1)
i = 0;
}
}
しかし、私たちはメインスレッドを停止できません。アプリケーションが実行されますが、GUIが表示されませんでした。それは正しい方法ではないので、私は次の方法、すなわち別のスレッドを試しています。
新しいスレッドを作成しますが、スレッドのクロスアクセスは許可されていませんか?
になります。明示的に2つのスレッドが必要です。 –