/// <summary>時間帯編集イベント発生時の処理</summary> /// <param name="sender"></param> /// <param name="e"></param> private void timePeriods_TimePeriodChangeEvent(object sender, TimePeriodsEventArgs e) { //初期化フラグON bool init = initializing; initializing = true; //選択中のアイテムを一時保存 int sIndex = lbxTimePeriods.SelectedIndex; //編集対象が選択中のアイテムか否か bool isSelectedItem = (sIndex == e.TimePeriodIndex); lbxTimePeriods.Items.RemoveAt(e.TimePeriodIndex); lbxTimePeriods.Items.Insert(e.TimePeriodIndex, e.TimePeriodName); if (isSelectedItem) lbxTimePeriods.SelectedIndex = sIndex; //初期化フラグを戻す initializing = init; }
/// <summary>時間帯削除イベント発生時の処理</summary> /// <param name="sender"></param> /// <param name="e"></param> private void timePeriods_TimePeriodRemoveEvent(object sender, TimePeriodsEventArgs e) { lbxTimePeriods.Items.RemoveAt(e.TimePeriodIndex); //最後の一つの時間帯の場合は削除ボタンを編集不可にする if (lbxTimePeriods.Items.Count == 1) btnRemove.Enabled = false; //選択アイテムを更新 if (e.TimePeriodIndex == 0) lbxTimePeriods.SelectedIndex = 0; else lbxTimePeriods.SelectedIndex = e.TimePeriodIndex - 1; }
/// <summary>時間帯追加イベント発生時の処理</summary> /// <param name="sender"></param> /// <param name="e"></param> private void timePeriods_TimePeriodAddEvent(object sender, TimePeriodsEventArgs e) { lbxTimePeriods.Items.Insert(e.TimePeriodIndex, e.TimePeriodName); //追加した時間帯が選択中の時間帯に影響を与える場合はコントロールを更新 int sIndex = lbxTimePeriods.SelectedIndex; if (sIndex == e.TimePeriodIndex - 1 || sIndex == e.TimePeriodIndex + 1) updateControl(); //削除ボタンが編集不可の場合は編集可能にする if (!btnRemove.Enabled) btnRemove.Enabled = true; }