Ejemplo n.º 1
0
        void TaskDialog_ButtonClicked(ITaskDialog sender, ButtonClickedArgs args)
        {
            Console.WriteLine("Button clicked: {0}", args.Id);
            switch (args.Id)
            {
            case 2000: {
                args.PreventClosing = true;
                TaskDialogConfig config = new TaskDialogConfig();
                config.CommonButtons   = CommonButtons.Ok;
                config.WindowTitle     = "Another page";
                config.MainInstruction = "You just navigated to another page.";
                sender.NavigatePage(config);
            }
            break;

            case 2001:
                args.PreventClosing = true;
                ResetCallbackTimer  = true;
                break;
            }
        }
Ejemplo n.º 2
0
 void TaskDialog_RadioButtonClicked(ITaskDialog sender, ButtonClickedArgs args)
 {
     Console.WriteLine("Radio button clicked: {0}", args.Id);
 }
Ejemplo n.º 3
0
        public int DefaultCallBackHandler(IntPtr hwnd, TASKDIALOG_NOTIFICATIONS uNotification, IntPtr wParam, IntPtr lParam, IntPtr dwRefData)
        {
            CallBackArgs args = new CallBackArgs(hwnd, uNotification, wParam, lParam, dwRefData);

            if (OnCallBack != null)
            {
                OnCallBack(this, args);

                if (args.SkipDefaultHandler)
                {
                    return(args.ReturnValue);
                }
            }


            switch (uNotification)
            {
            case TASKDIALOG_NOTIFICATIONS.TDN_BUTTON_CLICKED:
                if (OnButtonClicked != null)
                {
                    ButtonClickedArgs barg = new ButtonClickedArgs(args.UserData, (int)wParam);
                    OnButtonClicked(this, barg);
                    return(barg.PreventClosing ? 1 : 0);
                }
                else
                {
                    return(0);
                }

            case TASKDIALOG_NOTIFICATIONS.TDN_CREATED:
                UpdateControlsOnCreate();
                if (OnCreate != null)
                {
                    OnCreate(this, args.UserData);
                }
                return(0);

            case TASKDIALOG_NOTIFICATIONS.TDN_DESTROYED:
                this.hWnd = IntPtr.Zero;
                if (OnDestroy != null)
                {
                    OnDestroy(this, args.UserData);
                }
                return(0);

            case TASKDIALOG_NOTIFICATIONS.TDN_DIALOG_CONSTRUCTED:
                this.hWnd = hwnd;
                if (OnConstructed != null)
                {
                    OnConstructed(this, args.UserData);
                }
                return(0);

            case TASKDIALOG_NOTIFICATIONS.TDN_EXPANDO_BUTTON_CLICKED:
                if (OnExpandButtonClicked != null)
                {
                    OnExpandButtonClicked(this, args.UserData, wParam != IntPtr.Zero);
                }
                return(0);

            case TASKDIALOG_NOTIFICATIONS.TDN_HYPERLINK_CLICKED:
                if (OnHyperLinkClicked != null)
                {
                    OnHyperLinkClicked(this, args.UserData, Marshal.PtrToStringUni(lParam));
                }
                return(0);

            case TASKDIALOG_NOTIFICATIONS.TDN_NAVIGATED:
                if (OnNavigated != null)
                {
                    OnNavigated(this, args.UserData);
                }
                return(0);

            case TASKDIALOG_NOTIFICATIONS.TDN_RADIO_BUTTON_CLICKED:
                SelectedRadioButton = (int)wParam;
                if (OnRadioButtonSelected != null)
                {
                    OnRadioButtonSelected(this, args.UserData, SelectedRadioButton);
                }
                return(0);

            case TASKDIALOG_NOTIFICATIONS.TDN_TIMER:
                if (OnTimerTick != null)
                {
                    TimerTickArgs tArg = new TimerTickArgs(args.UserData, (int)wParam);
                    OnTimerTick(this, tArg);
                    return(tArg.Reset ? 1 : 0);
                }
                else
                {
                    return(0);
                }

            case TASKDIALOG_NOTIFICATIONS.TDN_VERIFICATION_CLICKED:
                if (OnCheckBoxClicked != null)
                {
                    OnCheckBoxClicked(this, args.UserData, wParam != IntPtr.Zero);
                }
                return(0);

            default:
                return(0);
            }
        }