Details for page related events that can be cancelled.
Inheritance: KryptonPageEventArgs
Example #1
0
        private void SelectNextAvailablePage(KryptonPage begin)
        {
            // Generate event to show it is now deselected
            OnDeselected(new KryptonPageEventArgs(begin, Pages.IndexOf(begin)));

            KryptonPage newSelection = null;
            KryptonPage firstEnabled = null;
            KryptonPage firstDisabled = null;

            // Start the search by moving forwards
            bool forward = true;

            // Start searching from the provided page
            KryptonPage start = begin;

            // Process all pages except the current one to find available pape
            for (int i = 0; i < Pages.Count - 1; i++)
            {
                KryptonPage next;

                // Are we already at the last page in the pages collection?
                if (Pages.IndexOf(start) == (Pages.Count - 1))
                {
                    // Then need to reverse searching direction
                    forward = false;

                    // Next page is the one before the beginning page
                    next = Pages[Pages.IndexOf(begin) - 1];
                }
                else
                {
                    // Otherwise just move to the next page in sequence
                    next = Pages[Pages.IndexOf(start) + (forward ? 1 : -1)];
                }

                // Can only select a visible page
                if (next.LastVisibleSet)
                {
                    // Track the first found enabled and disabled pages found
                    if (next.Enabled && (firstEnabled == null))
                        firstEnabled = next;
                    else if (!next.Enabled && (firstDisabled == null))
                        firstDisabled = next;

                    // Create event information
                    KryptonPageCancelEventArgs args = new KryptonPageCancelEventArgs(next, Pages.IndexOf(next));

                    // Disabled pages default to not becoming selected
                    args.Cancel = !next.Enabled;

                    // Give event handlers a chance to cancel the selection of the new page
                    OnSelecting(args);

                    // Does this page want the selection?
                    if (!args.Cancel)
                    {
                        newSelection = next;
                        break;
                    }
                }

                // Move forward a page for next loop
                start = next;
            }

            // If no page wants the new selection
            if (newSelection == null)
            {
                // Then force to the first enabled page
                if (firstEnabled != null)
                    newSelection = firstEnabled;
                else
                {
                    // Nothing enabled, so force to first disabled page
                    if (firstDisabled != null)
                        newSelection = firstDisabled;
                }
            }

            // Use new selection
            _selectedPage = newSelection;

            // If a new selection was made
            if (SelectedPage != null)
            {
                // Generate event to show it is now selected
                OnSelected(new KryptonPageEventArgs(SelectedPage, SelectedIndex));
            }

            // Generate the event that can be data bound
            OnSelectedPageChanged(EventArgs.Empty);
        }
Example #2
0
 /// <summary>
 /// Raises the Selecting event.
 /// </summary>
 /// <param name="e">A KryptonPageCancelEventArgs containing event details.</param>
 protected virtual void OnSelecting(KryptonPageCancelEventArgs e)
 {
     if (Selecting != null)
         Selecting(this, e);
 }
Example #3
0
        private void SelectFirstAvailablePage()
        {
            KryptonPage newSelection = null;
            KryptonPage firstEnabled = null;
            KryptonPage firstDisabled = null;

            // Process all pages
            for (int i = 0; i < Pages.Count; i++)
            {
                // Get the page to examine
                KryptonPage next = Pages[i];

                // Can only select a visible page
                if (next.LastVisibleSet)
                {
                    // Track the first found enabled and disabled pages found
                    if (next.Enabled && (firstEnabled == null))
                        firstEnabled = next;
                    else if (!next.Enabled && (firstDisabled == null))
                        firstDisabled = next;

                    // Create event information
                    KryptonPageCancelEventArgs args = new KryptonPageCancelEventArgs(next, Pages.IndexOf(next));

                    // Disabled pages default to not becoming selected
                    args.Cancel = !next.Enabled;

                    // Give event handlers a chance to cancel the selection of the new page
                    OnSelecting(args);

                    // Does this page want the selection?
                    if (!args.Cancel)
                    {
                        newSelection = next;
                        break;
                    }
                }
            }

            // If no page wants the new selection
            if (newSelection == null)
            {
                // Then force to the first enabled page
                if (firstEnabled != null)
                    newSelection = firstEnabled;
                else
                {
                    // Nothing enabled, so force to first disabled page
                    if (firstDisabled != null)
                        newSelection = firstDisabled;
                }
            }

            // Use new selection
            _selectedPage = newSelection;

            // If a new selection was made
            if (SelectedPage != null)
            {
                // Generate event to show it is now selected
                OnSelected(new KryptonPageEventArgs(SelectedPage, SelectedIndex));
            }

            // Generate the event that can be data bound
            OnSelectedPageChanged(EventArgs.Empty);
        }
Example #4
0
 private void kryptonNavigator1_Selecting(object sender, KryptonPageCancelEventArgs e)
 {
     AddOutput("Selecting \t\t '" + e.Item.Text + "'");
 }