/// <summary>季節編集イベント発生時の処理</summary> /// <param name="sender"></param> /// <param name="e"></param> private void seasons_SeasonChangeEvent(object sender, SeasonsEventArgs e) { //選択中のアイテムを一時保存 int sIndex = lbxSeasons.SelectedIndex; //編集対象が選択中のアイテムか否か bool isSelectedItem = (sIndex == e.SeasonIndex); lbxSeasons.Items.RemoveAt(e.SeasonIndex); lbxSeasons.Items.Insert(e.SeasonIndex, e.SeasonName); if (isSelectedItem) lbxSeasons.SelectedIndex = sIndex; }
/// <summary>季節削除イベント発生時の処理</summary> /// <param name="sender"></param> /// <param name="e"></param> private void seasons_SeasonRemoveEvent(object sender, SeasonsEventArgs e) { lbxSeasons.Items.RemoveAt(e.SeasonIndex); //最後の一つの季節の場合は削除ボタンを編集不可にする if (lbxSeasons.Items.Count <= 1) btnRemove.Enabled = false; //選択アイテムを更新 if (e.SeasonIndex == 0) lbxSeasons.SelectedIndex = 0; else lbxSeasons.SelectedIndex = e.SeasonIndex - 1; }
/// <summary>季節追加イベント発生時の処理</summary> /// <param name="sender"></param> /// <param name="e"></param> private void seasons_SeasonAddEvent(object sender, SeasonsEventArgs e) { lbxSeasons.Items.Insert(e.SeasonIndex, e.SeasonName); //追加した季節が選択中の季節に影響を与える場合はコントロールを更新 int sIndex = lbxSeasons.SelectedIndex; if (sIndex == e.SeasonIndex - 1 || sIndex == e.SeasonIndex + 1) updateControl(); //削除ボタンが編集不可の場合は編集可能にする if (!btnRemove.Enabled) btnRemove.Enabled = true; }