Example #1
0
        private void MMenuItemControl_MenuItemSelected(object sender, MenuItemSelectedEventArgs eventArgs)
        {
            MenuItem selectedItem = eventArgs.SelectedMenuItem;

            DecoratedMessage preMessage = selectedItem.PreMessage;

            if (preMessage != null && !(preMessage.ShowOnce && preMessage.Shown))
            {
                DialogResult preMessageResult = MessageBox.Show(this, preMessage.Message, preMessage.Caption, preMessage.Buttons, preMessage.Type);

                preMessage.Shown = true;

                if (preMessageResult == DialogResult.No || preMessageResult == DialogResult.Cancel)
                {
                    return;
                }
            }

            if (selectedItem is Menu menu)
            {
                SetCurrentMenu(menu, mActivityExecutor.ProductModel);
            }
            else if (selectedItem is Task task)
            {
                if (mTaskProgressForm == null)
                {
                    mTaskProgressForm = new TaskProgressForm
                    {
                        ActivityExecutor = mActivityExecutor
                    };
                }

                mTaskProgressForm.Task = task;
                mTaskProgressForm.ShowDialog(this);

                if (selectedItem.ParentMenu.ReturnToMainMenu)
                {
                    SetCurrentMenu(mCommands.MainMenu, mActivityExecutor.ProductModel);
                }
            }
            else
            {
                try
                {
                    Query       query  = (Query)selectedItem;
                    QueryResult result = mActivityExecutor.ExecuteQuery(query);
                    if (!result.Success)
                    {
                        MessageBox.Show(this, result.Message, Resources.CptQueryFailed, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }

                    if (query.OfferClipboardCopy)
                    {
                        if (MessageBox.Show(this, string.Format(Resources.MsgQueryOfferClipboardCopy, result.Message), Resources.CptQueryCompleted, MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                        {
                            Clipboard.SetData(DataFormats.Text, result.Message);
                        }
                    }
                    else
                    {
                        MessageBox.Show(this, result.Message, Resources.CptQueryCompleted, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                catch (Exception exception)
                {
                    HandleQueryException(exception);
                }
            }
        }
Example #2
0
 protected void OnMenuItemSelected(MenuItemSelectedEventArgs menuItemSelectedEventArgs)
 {
     MenuItemSelected?.Invoke(this, menuItemSelectedEventArgs);
 }