Преобразование текста текстового поля в аргумент Argb - PullRequest
0 голосов
/ 15 апреля 2010

Я искал объекты раскраски, такие как эллипсы, с кодом, таким как

        SolidBrush trnsRedBrush = new SolidBrush(Color.FromArgb(0x78FF0000));

Я бы хотел поэкспериментировать с этим, введя аргумент FromArgb в текстовое поле формы, а затем используя текстовое поле, чтобы установить цвет кисти. Как бы я преобразовал текст текстового поля в аргумент, используемый FromArgb?

Ответы [ 2 ]

3 голосов
/ 15 апреля 2010
someTextBox.Text = "AAFFBBDD";
int param = int.Parse(someTextBox.Text, NumberStyles.AllowHexSpecifier);
SolidBrush trnsRedBrush = new SolidBrush(Color.FromArgb(param));

Конечно, вы можете сократить это.

Редактировать: Имейте в виду, что если вы напечатаете что-то плохое, это может вызвать исключение.Существуют варианты «TryParse», которые позволят вам справиться с ситуацией по своему вкусу.Я не буду давать конкретные рекомендации, потому что это зависит от контекста и сценария.

1 голос
/ 15 апреля 2010

Если вы планируете вводить шестнадцатеричные значения в текстовое поле, почему бы просто не сделать:

SolidBrush trnsRedBrush = new SolidBrush(Color.FromArgb(Convert.ToInt32(textBox.Text), 16));

Редактировать : сначала нужно привести значение к int. (Упс!)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...