ColorDialog.SolidColorOnly 属性

定义

获取或设置一个值,该值指示对话框是否限制用户只选择纯色。

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

属性值

如果用户只能选择纯色,则为 true;否则为 false。 默认值是 false

示例

下面的代码示例演示如何初始化ColorDialogAnyColor设置 、 AllowFullOpen 属性。 ColorDialog不允许用户设置自定义颜色,但它允许显示完整的基本颜色集。 将 属性设置为 SolidColorOnlyfalse时,它将允许在具有 256 种或更少颜色的系统上显示其他颜色组合的颜色。 该示例还演示如何设置 ShowHelp 属性和处理 HelpRequest 对话框的事件。 若要运行该示例,请将以下代码粘贴到窗体中,并在窗体的构造函数或Load方法中调用 InitializeColorDialog 方法。 此示例要求按钮 Click 的 事件连接到示例中定义的事件处理程序方法。

// 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

注解

此属性适用于具有 256 种或更少颜色的系统。 在这些类型的系统上,某些颜色是其他颜色的复合。

适用于