private void SetButtonState()
 {
     if (eventEnum == null)
     {
         prevBtn.Enabled = nextBtn.Enabled = false;
         prevBtn.Visible = nextBtn.Visible = false;
     }
     else
     {
         eventEnum.Seek(CurrentEvent.EventRecord.Bookmark, -1L);
         prevBtn.Enabled = eventEnum.MoveNext();
         eventEnum.Seek(CurrentEvent.EventRecord.Bookmark, 1L);
         nextBtn.Enabled = eventEnum.MoveNext();
         prevBtn.Visible = nextBtn.Visible = true;
     }
 }
        private void FetchEnumEvents(int startIndex, int endIndex)
        {
            int n = startIndex;

            vevEnum.Seek(System.IO.SeekOrigin.Begin, n);
            while (vevEnum.MoveNext() && n <= endIndex)
            {
                vcache[n++] = BuildItem(vevEnum.Current);
            }
        }
        /// <summary>
        /// Initializes the dialog with the specified task event.
        /// </summary>
        /// <param name="taskEvent">The <see cref="TaskEvent"/> to show initially.</param>
        /// <param name="log">The <see cref="TaskEventLog"/> for the task.</param>
        public void Initialize(TaskEvent taskEvent, TaskEventLog log = null)
        {
            if (taskEvent == null)
            {
                throw new ArgumentNullException("taskEvent");
            }

            if (log != null)
            {
                eventEnum = log.GetEnumerator() as TaskEventEnumerator;
                eventEnum.Seek(CurrentEvent.EventRecord.Bookmark);
            }
            else
            {
                eventEnum = null;
            }
            CurrentEvent = taskEvent;
        }