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; } }
void TaskDialog_RadioButtonClicked(ITaskDialog sender, ButtonClickedArgs args) { Console.WriteLine("Radio button clicked: {0}", args.Id); }
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); } }