ColorDialog.SolidColorOnly Property

Definition

Gets or sets a value indicating whether the dialog box will restrict users to selecting solid colors only.

public:
 virtual property bool SolidColorOnly { bool get(); void set(bool value); };
public virtual bool SolidColorOnly { get; set; }
member this.SolidColorOnly : bool with get, set
Public Overridable Property SolidColorOnly As Boolean

Property Value

true if users can select only solid colors; otherwise, false. The default value is false.

Examples

The following code example demonstrates initializing a ColorDialog setting the AnyColor, AllowFullOpen properties. The ColorDialog does not enable the user to set a custom color, but it enables the full set of basic colors be displayed. When you set the SolidColorOnly property to false, it enables the display of colors that are combinations of other colors on systems with 256 or less colors. The example also shows setting the ShowHelp property and handling a HelpRequest event for a dialog box. To run the example, paste the following code in a form and call the InitializeColorDialog method in the form's constructor or Load method. This example requires the Click event of the button is connected to the event-handler method defined in the example.

// This method initializes ColorDialog1 to allow any colors, 
// and combination colors on systems with 256 colors or less, 
// but will not allow the user to set custom colors.  The
// dialog will contain the help button.
void InitializeColorDialog()
{
   this->ColorDialog1 = gcnew System::Windows::Forms::ColorDialog;
   this->ColorDialog1->AllowFullOpen = false;
   this->ColorDialog1->AnyColor = true;
   this->ColorDialog1->SolidColorOnly = false;
   this->ColorDialog1->ShowHelp = true;
   
   // Associate the event-handling method with
   // the HelpRequest event.
   this->ColorDialog1->HelpRequest +=
      gcnew System::EventHandler( this, &Form1::ColorDialog1_HelpRequest );
}

// This method opens the dialog and checks the DialogResult value. 
// If the result is OK, the text box's background color will be changed 
// to the user-selected color.
void Button1_Click( System::Object^ sender, System::EventArgs^ e )
{
   ::DialogResult result = ColorDialog1->ShowDialog();
   if ( result == ::DialogResult::OK )
   {
      TextBox1->BackColor = ColorDialog1->Color;
   }
}

// This method is called when the HelpRequest event is raised, 
//which occurs when the user clicks the Help button on the ColorDialog object.
void ColorDialog1_HelpRequest( Object^ sender, System::EventArgs^ e )
{
   MessageBox::Show( "Please select a color by clicking it. " +
      "This will change the BackColor property of the TextBox." );
}
// This method initializes ColorDialog1 to allow any colors, 
// and combination colors on systems with 256 colors or less, 
// but will not allow the user to set custom colors.  The
// dialog will contain the help button.
private void InitializeColorDialog()
{
    this.ColorDialog1 = new System.Windows.Forms.ColorDialog();
    this.ColorDialog1.AllowFullOpen = false;
    this.ColorDialog1.AnyColor = true;
    this.ColorDialog1.SolidColorOnly = false;
    this.ColorDialog1.ShowHelp = true;
    
    // Associate the event-handling method with
    // the HelpRequest event.
    this.ColorDialog1.HelpRequest 
        += new System.EventHandler(ColorDialog1_HelpRequest);
}

// This method opens the dialog and checks the DialogResult value. 
// If the result is OK, the text box's background color will be changed 
// to the user-selected color.
private void Button1_Click(System.Object sender, System.EventArgs e)
{
    DialogResult result = ColorDialog1.ShowDialog();
    if (result.Equals(DialogResult.OK))
    {
        TextBox1.BackColor = ColorDialog1.Color;
    }
}

// This method is called when the HelpRequest event is raised, 
//which occurs when the user clicks the Help button on the ColorDialog object.
private void ColorDialog1_HelpRequest(object sender, System.EventArgs e)
{

    MessageBox.Show("Please select a color by clicking it. "
       + "This will change the BackColor property of the TextBox.");
}
   
   ' This method initializes ColorDialog1 to allow any colors, 
   ' and combination colors on systems with 256 colors or less, 
   ' but will not allow the user to set custom colors.  The
   ' dialog will contain the help button.
   Private Sub InitializeColorDialog()
       Me.ColorDialog1 = New System.Windows.Forms.ColorDialog
       Me.ColorDialog1.AllowFullOpen = False
       Me.ColorDialog1.AnyColor = True
       Me.ColorDialog1.SolidColorOnly = False
       Me.ColorDialog1.ShowHelp = True
   End Sub
 

   ' This method opens the dialog and checks the DialogResult value. 
   ' If the result is OK, the text box's background color will be changed 
   ' to the user-selected color.
   Private Sub Button1_Click(ByVal sender As System.Object,  _
       ByVal e As System.EventArgs) Handles Button1.Click
       Dim result As DialogResult = ColorDialog1.ShowDialog()
       If (result.Equals(DialogResult.OK)) Then
           TextBox1.BackColor = ColorDialog1.Color
       End If
   End Sub

 
   ' This method is called when the HelpRequest event is raised, 
   'which occurs when the user clicks the Help button on the ColorDialog object.
   Private Sub ColorDialog1_HelpRequest(ByVal sender As Object, _ 
       ByVal e As System.EventArgs) Handles ColorDialog1.HelpRequest

       MessageBox.Show("Please select a color by clicking it." _
       & "This will change the BackColor property of the TextBox.")
   End Sub

Remarks

This property is applicable to systems with 256 or fewer colors. On these types of systems, some colors are composites of others.

Applies to