我一直在寻找像椭圆这样的对象,例如
SolidBrush trnsRedBrush = new SolidBrush(Color.FromArgb(0x78FF0000));
我想通过将FromArgb的参数输入到表单上的文本框中,然后使用文本框设置Brush的颜色来进一步解决这个问题。如何将文本框的文本转换为FromArgb可用的参数?
答案 0 :(得分:3)
someTextBox.Text = "AAFFBBDD";
int param = int.Parse(someTextBox.Text, NumberStyles.AllowHexSpecifier);
SolidBrush trnsRedBrush = new SolidBrush(Color.FromArgb(param));
你当然可以缩短它。
编辑:请记住,如果输入错误,可能会引发异常。有“TryParse”变体可让您根据自己的喜好处理情况。我不会提出具体的建议,因为它取决于背景和情况。
答案 1 :(得分:1)
如果您打算在文本框中输入十六进制值,为什么不这样做:
SolidBrush trnsRedBrush = new SolidBrush(Color.FromArgb(Convert.ToInt32(textBox.Text), 16));
编辑:必须先将值强制转换为int。 (糟糕!)