|
■No90295 (SSS さん) に返信 > Dim Color0 As Color = Color.FromArgb(CInt(frm.NumericUpDown1.Value), CInt(frm.NumericUpDown2.Value), CInt(frm.NumericUpDown3.Value)) この方法だと、システムカラー(SystemColors.WindowText 等)は作れませんが、それは良いのでしょうか。 システムカラーやアルファ値も含めて正確に文字列化したいなら、 ColorConverter クラスの ConvertToInvariantString / ConvertFromInvariantString メソッドを使えます。
> で定義されたカラー変数を6桁の16進数に変換したいのですが、 RGB 順なら、ColorTranslator.ToWin32 とか。
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load PropertyGrid1.PropertySort = PropertySort.Alphabetical PropertyGrid1.SelectedObject = Label1 End Sub
Private Sub Label1_BackColorChanged(sender As Object, e As EventArgs) Handles Label1.BackColorChanged 'Label2.Text = ColorTranslator.ToHtml(Label1.BackColor) 'Label3.Text = ColorTranslator.ToOle(Label1.BackColor).ToString("X8") Label4.Text = ColorTranslator.ToWin32(Label1.BackColor).ToString("X6") End Sub End Class
|