/// <summary>
        /// Edits the parameters of s item value.
        /// </summary>
        private void EditMI_Click(object sender, System.EventArgs e)
        {
            try
            {
                // check for valid selection.
                if (ReadOnly || ValuesLV.SelectedItems.Count != 1)
                {
                    return;
                }

                // create new item value.
                TsCHdaAnnotationValue value = new AnnotationValueEditDlg().ShowDialog((TsCHdaAnnotationValue)ValuesLV.SelectedItems[0].Tag);

                // prompt user to edit item value.
                if (value == null)
                {
                    return;
                }

                // update display.
                UpdateListItem(ValuesLV.SelectedItems[0], value);

                // adjust columns
                AdjustColumns();
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message);
            }
        }
        /// <summary>
        /// Adds a new item value.
        /// </summary>
        private void AddMI_Click(object sender, System.EventArgs e)
        {
            try
            {
                // check control state.
                if (ReadOnly)
                {
                    return;
                }

                // create new item value.
                TsCHdaAnnotationValue value = new TsCHdaAnnotationValue();

                value.Annotation   = null;
                value.Timestamp    = RunTestDlg.BASETIME;
                value.CreationTime = DateTime.MinValue;
                value.User         = null;

                // prompt user to edit item value.
                value = new AnnotationValueEditDlg().ShowDialog(value);

                if (value == null)
                {
                    return;
                }

                // get the current selection.
                int index = -1;

                if (ValuesLV.SelectedIndices.Count > 0)
                {
                    index = ValuesLV.SelectedIndices[ValuesLV.SelectedIndices.Count - 1];
                }

                // update display.
                AddListItem(value, index);

                // adjust columns
                AdjustColumns();
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message);
            }
        }