問題は、SelectedIndexChangedイベントが、ユーザーが変更を行ったときと、アプリケーションコード設定SelectedItemによって変更が行われたときの両方で呼び出されることです。
マウスまたはキーボードからのユーザーの直接操作によってアイテムが変更されたかどうかを確認する方法はありますか?
このSelectedChangeCommitted MSDNのようなものを試してください
private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e)
{
ComboBox comboBox = (ComboBox) sender;
// Change the length of the text box depending on what the user has
// selected and committed using the SelectionLength property.
if (comboBox.SelectionLength > 0)
{
textbox1.Width =
comboBox.SelectedItem.ToString().Length *
((int) this.textbox1.Font.SizeInPoints);
textbox1.Text = comboBox.SelectedItem.ToString();
}
}