Color.ToString Method
Converts this Color structure to a human-readable string.
[Visual Basic] Overrides Public Function ToString() As String [C#] public override string ToString(); [C++] public: String* ToString(); [JScript] public override function ToString() : String;
Return Value
A string that is the name of the color of this Color structure, if the Color structure is created from a pre-defined color by using either the FromName method or the FromKnownColor method; otherwise, a string that consists of the ARGB component names and their values.
Remarks
A pre-defined color is also called a known color and is represented by an element of the KnownColor enumeration. When the ToString method is applied to a Color structure that is created by using the FromArgb method, the ToString method returns a string that consists of the ARGB component names and their values, even if the ARGB value matches the ARGB value of a pre-defined color.
Example
[Visual Basic, C#] The following example is designed for use with Windows Forms, and it requires PaintEventArgs e, which is a parameter of the Paint event handler. The code performs the following actions:
- Iterates through the KnownColor enumeration elements to find all known colors that have a nonzero green component and a zero-value red component and that are not system colors.
- During each iteration: saves the KnownColor element, if it matches the criteria, in an array.
- Uses a brush to paint rectangles. Each of the rectangles is painted a KnownColor that matches the criteria stated in the first step. The name of the KnownColor and its component values are also displayed.
[Visual Basic, C#] This example displays certain known colors and uses the ToString method to display the names of the colors and their four component values.
[Visual Basic] Public Sub ToArgbToStringExample(e As PaintEventArgs) Dim g As Graphics = e.Graphics ' Color structure used for temporary storage. Dim someColor As Color = Color.FromArgb(0) ' Array to store KnownColor values that match the criteria. Dim colorMatches(167) As KnownColor Dim count As Integer = 0 ' number of matches found ' Iterate through KnownColor enums to find all corresponding colors ' that have a non-zero green component and zero-valued red ' component and that are not system colors. Dim enumValue As KnownColor For enumValue = 0 To KnownColor.YellowGreen someColor = Color.FromKnownColor(enumValue) If someColor.G <> 0 And someColor.R = 0 And _ Not someColor.IsSystemColor Then colorMatches(count) = enumValue count += 1 End If Next enumValue Dim myBrush1 As New SolidBrush(someColor) Dim myFont As New Font("Arial", 9) Dim x As Integer = 40 Dim y As Integer = 40 ' Iterate through the matches found and display each color that ' corresponds with the enum value in the array. Also display the ' name of the KnownColor and the ARGB components. Dim i As Integer For i = 0 To count - 1 ' Display the color someColor = Color.FromKnownColor(colorMatches(i)) myBrush1.Color = someColor g.FillRectangle(myBrush1, x, y, 50, 30) ' Display KnownColor name and four component values. To display ' component values: Use the ToArgb method to get the 32-bit ' ARGB value of someColor (created from a KnownColor). Create ' a Color structure from the 32-bit ARGB value and set someColor ' equal to this new Color structure. Then use the ToString method ' to convert it to a string. g.DrawString(someColor.ToString(), myFont, Brushes.Black, _ x + 55, y) someColor = Color.FromArgb(someColor.ToArgb()) g.DrawString(someColor.ToString(), myFont, Brushes.Black, _ x + 55, y + 15) y += 40 Next i End Sub [C#] public void ToArgbToStringExample(PaintEventArgs e) { Graphics g = e.Graphics; // Color structure used for temporary storage. Color someColor = Color.FromArgb(0); // Array to store KnownColor values that match the criteria. KnownColor[] colorMatches = new KnownColor[167]; int count = 0; // number of matches found // Iterate through the KnownColor enums to find all corresponding colors // that have a nonzero green component and zero-value red component and // that are not system colors. for (KnownColor enumValue = 0; enumValue <= KnownColor.YellowGreen; enumValue++) { someColor = Color.FromKnownColor(enumValue); if ( someColor.G != 0 && someColor.R == 0 && !someColor.IsSystemColor ) colorMatches[count++] = enumValue; } SolidBrush myBrush1 = new SolidBrush(someColor); Font myFont = new Font("Arial", 9); int x = 40; int y = 40; // Iterate through the matches that were found and display each color that // corresponds with the enum value in the array. also display the name of // the KnownColor and the ARGB components. for ( int i = 0; i < count; i++) { // Display the color. someColor = Color.FromKnownColor(colorMatches[i]); myBrush1.Color = someColor; g.FillRectangle(myBrush1, x, y, 50, 30); // Display KnownColor name and the four component values. To display the // component values: Use the ToArgb method to get the 32-bit ARGB value // of someColor, which was created from a KnownColor. Then create a // Color structure from the 32-bit ARGB value and set someColor equal to // this new Color structure . Then use the ToString method to convert it to // a string. g.DrawString(someColor.ToString(), myFont, Brushes.Black, x + 55, y); someColor = Color.FromArgb(someColor.ToArgb()); g.DrawString(someColor.ToString(), myFont, Brushes.Black, x + 55, y + 15); y += 40; } }
[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework