/// <summary> /// Show the dialog. /// </summary> /// <param name="color">(<see langword="out"/> parameter) The color selected.</param> /// <param name="flags">The flags that the control should enable.</param> /// <param name="customPreviewEventHandler"> /// The event handler. The default value is <see langword="null"/>. /// </param> /// <returns> /// Return <see langword="true"/> if a user has chosen a color successfully; /// otherwise, <see langword="false"/> (i.e. user canceled). /// </returns> public static bool ShowDialog( [NotNullWhen(true)] out Color?color, ColorPickerOptions flags = None, PickingColorEventHandler?customPreviewEventHandler = null) { if ((flags & LoadCustomPalette) == LoadCustomPalette) { ColorPickerSettings.UsingCustomPalette = true; } var instance = new ColorPicker(); color = instance._colorPicker.Color; if ((flags & SimpleView) == SimpleView) { instance.ToggleSimpleAdvancedView(); } if (ColorPickerSettings.UsingCustomPalette) { instance._colorPicker.LoadDefaultCustomPalette(); } if (!(customPreviewEventHandler is null)) { instance._colorPicker.PickingColor += customPreviewEventHandler; } if (instance.ShowDialog() is true) { color = instance._colorPicker.Color ?? default; return(true); } return(false); }
public TextDrawingInputBox(string text, TextDrawingOptions options, bool supportGradient, ColorPickerOptions colorPickerOptions) { InitializeComponent(); ShareXResources.ApplyTheme(this); InputText = text; Options = options; ColorPickerOptions = colorPickerOptions; if (InputText != null) { txtInput.Text = InputText; } UpdateInputBox(); cbFonts.Items.AddRange(FontFamily.Families.Select(x => x.Name).ToArray()); if (cbFonts.Items.Contains(Options.Font)) { cbFonts.SelectedItem = Options.Font; } else { cbFonts.SelectedItem = AnnotationOptions.DefaultFont; } nudTextSize.SetValue(Options.Size); btnTextColor.ColorPickerOptions = ColorPickerOptions; btnTextColor.Color = Options.Color; btnGradient.Visible = supportGradient; if (supportGradient) { tsmiEnableGradient.Checked = Options.Gradient; tsmiSecondColor.Image = ImageHelpers.CreateColorPickerIcon(Options.Color2, new Rectangle(0, 0, 16, 16)); switch (Options.GradientMode) { case LinearGradientMode.Horizontal: tsrbmiGradientHorizontal.Checked = true; break; case LinearGradientMode.Vertical: tsrbmiGradientVertical.Checked = true; break; case LinearGradientMode.ForwardDiagonal: tsrbmiGradientForwardDiagonal.Checked = true; break; case LinearGradientMode.BackwardDiagonal: tsrbmiGradientBackwardDiagonal.Checked = true; break; } } cbBold.Checked = Options.Bold; cbItalic.Checked = Options.Italic; cbUnderline.Checked = Options.Underline; UpdateButtonImages(); UpdateEnterTip(); txtInput.SupportSelectAll(); }