Методы форматирования строки в пользовательском контроле - C#
Формулировка задачи:
Добрый вечер.
Имеется созданный пользовательский элемент - индикатор. При добавлении индикатора на форму и вводе на форме в textbox значения - индикатор отображает это число. Если количество чисел после запятой больше, чем может отобразить индикатор, то производится форматирование (округление).
Все это обрабатывается по клику кнопки на форме. Интересует вопрос, как правильно реализовать метод или свойства элемента, чтобы на форме просто вызывать при форматировании числа сам метод форматирования, а не писать весь обработчик событий.
Спасибо
private void button1_Click(object sender, EventArgs e) { string value = strFirst; string[] words = value.Split(new char[] { ','}, StringSplitOptions.RemoveEmptyEntries); if (int.TryParse(words[0], out d1) && double.TryParse(words[1], out d2)) { string a = Convert.ToString(d2); string a1 = "," + a; d3 = Convert.ToDouble(a1); if (numericBefore.Value == 0) { s1 = String.Format("{0:d0}", d1); d4 = Convert.ToDouble(s1); } if (numericBefore.Value == 1) { s1 = String.Format("{0:d1}", d1); d4 = Convert.ToDouble(s1); } if (numericBefore.Value == 2) { s1 = String.Format("{0:d2}", d1); d4 = Convert.ToDouble(s1); } if (numericBefore.Value == 3) { s1 = String.Format("{0:d3}", d1); d4 = Convert.ToDouble(s1); } if (numericAfter.Value == 0) { s2 = String.Format("{0:f0}", d3); d5 = Convert.ToDouble(s2); } if (numericAfter.Value == 1) { s2 = String.Format("{0:f1}", d3); d5 = Convert.ToDouble(s2); } if (numericAfter.Value == 2) { s2 = String.Format("{0:f2}", d3); d5 = Convert.ToDouble(s2); } if (numericAfter.Value == 3) { s2 = String.Format("{0:f3}", d3); d5 = Convert.ToDouble(s2); } if (numericAfter.Value == 4) { s2 = String.Format("{0:f4}", d3); d5 = Convert.ToDouble(s2); } if (numericAfter.Value == 5) { s2 = String.Format("{0:f5}", d3); d5 = Convert.ToDouble(s2); } if (numericAfter.Value == 6) { s2 = String.Format("{0:f6}", d3); d5 = Convert.ToDouble(s2); } }
Решение задачи: «Методы форматирования строки в пользовательском контроле»
textual
Листинг программы
private void button1_Click(object sender, EventArgs e) { string value = strFirst; string[] words = value.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (int.TryParse(words[0], out d1) && double.TryParse(words[1], out d2)) { string a = Convert.ToString(d2); string a1 = "," + a; d3 = Convert.ToDouble(a1); s1 = String.Format("{0:d" + numericBefore.Value.ToString() + "}", d1); d4 = Convert.ToDouble(s1); s2 = String.Format("{0:f" + numericAfter.Value.ToString() + "}", d3); d5 = Convert.ToDouble(s2); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д