Exemplo n.º 1
0
        // Gives event subscriber a chance to prevent
        // the dialog from closing, based on
        // the current state of the app and the button
        // used to commit. Note that we don't
        // have full access at this stage to
        // the full dialog state.
        internal int RaiseClosingEvent(int id)
        {
            EventHandler <TaskDialogClosingEventArgs> handler = Closing;

            if (handler != null)
            {
                TaskDialogButtonBase       customButton = null;
                TaskDialogClosingEventArgs e            = new TaskDialogClosingEventArgs();

                // Try to identify the button - is it a standard one?
                TaskDialogStandardButtons buttonClicked = MapButtonIdToStandardButton(id);

                // If not, it had better be a custom button...
                if (buttonClicked == TaskDialogStandardButtons.None)
                {
                    customButton = GetButtonForId(id);

                    // ... or we have a problem.
                    if (customButton == null)
                    {
                        throw new InvalidOperationException(LocalizedMessages.TaskDialogBadButtonId);
                    }

                    e.CustomButton     = customButton.Name;
                    e.TaskDialogResult = TaskDialogResult.CustomButtonClicked;
                }
                else
                {
                    e.TaskDialogResult = (TaskDialogResult)buttonClicked;
                }

                // Raise the event and determine how to proceed.
                handler(this, e);
                if (e.Cancel)
                {
                    return((int)HResult.False);
                }
            }

            // It's okay to let the dialog close.
            return((int)HResult.Ok);
        }
Exemplo n.º 2
0
		// Gives event subscriber a chance to prevent 
		// the dialog from closing, based on 
		// the current state of the app and the button 
		// used to commit. Note that we don't 
		// have full access at this stage to 
		// the full dialog state.
		internal int RaiseClosingEvent(int id) {
			EventHandler<TaskDialogClosingEventArgs> handler = Closing;
			if (handler != null) {
				TaskDialogButtonBase customButton = null;
				TaskDialogClosingEventArgs e = new TaskDialogClosingEventArgs();

				// Try to identify the button - is it a standard one?
				TaskDialogStandardButtons buttonClicked = MapButtonIdToStandardButton(id);

				// If not, it had better be a custom button...
				if (buttonClicked == TaskDialogStandardButtons.None) {
					customButton = GetButtonForId(id);

					// ... or we have a problem.
					if (customButton == null) {
						throw new InvalidOperationException(LocalizedMessages.TaskDialogBadButtonId);
					}

					e.CustomButton = customButton.Name;
					e.TaskDialogResult = TaskDialogResult.CustomButtonClicked;
				} else {
					e.TaskDialogResult = (TaskDialogResult)buttonClicked;
				}

				// Raise the event and determine how to proceed.
				handler(this, e);
				if (e.Cancel) { return (int)HResult.False; }
			}

			// It's okay to let the dialog close.
			return (int)HResult.Ok;
		}