Click or drag to resize
DialogsShowColorDialog Method (Color)
Display Rhino's color selection dialog.

Namespace: Rhino.UI
Assembly: RhinoCommon (in RhinoCommon.dll) Version: 5.1.50000.0 (5.0.20693.0)
Syntax
public static bool ShowColorDialog(
	ref Color color
)

Parameters

color
Type: System.DrawingColor
[in/out] Default color for dialog, and will receive new color if function returns true.

Return Value

Type: Boolean
true if the color changed. false if the color has not changed or the user pressed cancel.
Examples
using Rhino;
using Rhino.DocObjects;
using Rhino.Commands;
using Rhino.Input;
using Rhino.UI;

namespace examples_cs
{
  public class ChangeLightColorCommand : Rhino.Commands.Command
  {
    public override string EnglishName
    {
      get { return "csLightColor"; }
    }

    protected override Result RunCommand(RhinoDoc doc, RunMode mode)
    {
      ObjRef obj_ref;
      var rc = RhinoGet.GetOneObject("Select light to change color", true,
        ObjectType.Light, out obj_ref);
      if (rc != Result.Success)
        return rc;
      var light = obj_ref.Light();
      if (light == null)
        return Result.Failure;

      var diffuse_color = light.Diffuse;
      if (Dialogs.ShowColorDialog(ref diffuse_color))
      {
        light.Diffuse = diffuse_color;
      }

      doc.Lights.Modify(obj_ref.ObjectId, light);
      return Result.Success;
    }
  }
}
from Rhino import *
from Rhino.DocObjects import *
from Rhino.Input import *
from Rhino.UI import *
from scriptcontext import doc

def RunCommand():
  rc, obj_ref = RhinoGet.GetOneObject(
    "Select light to change color", 
    True,
    ObjectType.Light)
  if rc != Result.Success:
    return rc
  light = obj_ref.Light()
  if light == None:
    return Result.Failure

  b, color = Dialogs.ShowColorDialog(light.Diffuse)
  if b:
    light.Diffuse = color

  doc.Lights.Modify(obj_ref.ObjectId, light)
  return Result.Success

if __name__ == "__main__":
  RunCommand()
See Also