Example #1
0
 private void RBtn_Click(object sender, EventArgs e)
 {
     if (sender is RadioButton obj)
     {
         if (obj.Checked)
         {
             RadioButtonClick?.Invoke(this, e);
         }
     }
 }
Example #2
0
        /// <summary>
        /// Common native callback for Task Dialogs.
        /// Will route events to the user event handler.
        /// </summary>
        /// <param name="refData">TODO: Currently unused, would need complex marshaling of data.</param>
        internal IntPtr CommonCallbackProc(IntPtr hWnd, uint uEvent, UIntPtr wParam, IntPtr lParam, IntPtr refData)
        {
            _hwnd = hWnd;

            //Handle event
            switch ((NativeMethods.TaskDialogNotification)uEvent)
            {
            case NativeMethods.TaskDialogNotification.TDN_CREATED:
                //Dispatch buffered messages
                DispatchMessageQueue();

                Created?.Invoke(this, EventArgs.Empty);
                break;

            case NativeMethods.TaskDialogNotification.TDN_NAVIGATED:
                //Dispatch buffered messages (copied in from the new task dialog we are navigating to)
                DispatchMessageQueue();

                Navigating?.Invoke(this, EventArgs.Empty);
                break;

            case NativeMethods.TaskDialogNotification.TDN_BUTTON_CLICKED:
                var evtButtonClick = ButtonClick;
                if (evtButtonClick != null)
                {
                    ClickEventArgs args = new ClickEventArgs((int)wParam);
                    evtButtonClick(this, args);

                    //Return value given by user to prevent closing (false will close)
                    return((IntPtr)((args.PreventClosing) ? 1 : 0));
                }
                break;

            case NativeMethods.TaskDialogNotification.TDN_HYPERLINK_CLICKED:
                HyperlinkClick?.Invoke(this, new HyperlinkEventArgs(Marshal.PtrToStringUni(lParam)));
                break;

            case NativeMethods.TaskDialogNotification.TDN_TIMER:
                var evtTick = Tick;
                if (evtTick != null)
                {
                    var args = new TimerEventArgs((long)wParam);
                    evtTick(this, args);

                    //Return value given by user to reset timer ticks
                    return((IntPtr)((args.ResetCount) ? 1 : 0));
                }
                break;

            case NativeMethods.TaskDialogNotification.TDN_DESTROYED:
                //Set dialog as not "showing" and drop handle to window
                _hwnd = IntPtr.Zero;

                Destroyed?.Invoke(this, EventArgs.Empty);
                break;

            case NativeMethods.TaskDialogNotification.TDN_RADIO_BUTTON_CLICKED:
                RadioButtonClick?.Invoke(this, new ClickEventArgs((int)wParam));
                break;

            case NativeMethods.TaskDialogNotification.TDN_DIALOG_CONSTRUCTED:
                Constructed?.Invoke(this, EventArgs.Empty);
                break;

            case NativeMethods.TaskDialogNotification.TDN_VERIFICATION_CLICKED:
                VerificationClick?.Invoke(this, new CheckEventArgs((uint)wParam == 1));
                break;

            case NativeMethods.TaskDialogNotification.TDN_HELP:
                Help?.Invoke(this, EventArgs.Empty);
                break;

            case NativeMethods.TaskDialogNotification.TDN_EXPANDO_BUTTON_CLICKED:
                Expanding?.Invoke(this, new ExpandEventArgs((uint)wParam != 0));
                break;
            }

            return(IntPtr.Zero);
        }