Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

C#, проблема с textbox

75K
03 декабря 2011 года
Tanatogluttony
4 / / 02.12.2011
всем привет, я столкнулся с нерешаемой для себя проблемой
есть текстбоксы, которые показывают значения, основываясь на формулах из длл
например
textBoxtop.Text = Math.Round(Hc.Gettop(Hc._ttn, Hc._tp), 1).ToString();
очищается текстбокс такой строчкой
Hc.Settop(Convert.ToDouble(textBoxtop.Text));
проблема в том, что после запуска расчетов заного, она не очищает текстбокс, а вылетает с ошибкой
потому что в текст боксе дробное значение, а она работает только с целочисленными

вот полный код кнопки для расчета

#region Кнопка "Расчитать"
private void btnRas4_Click(object sender, EventArgs e)
{
// Запустить процедуру расчета
RunSolver();
}

private void DataRefresh()
{

Hc.Setttn(Convert.ToDouble(textBoxttn.Text));
Hc.Settp(Convert.ToDouble(textBoxtp.Text));
Hc.SetL(Convert.ToDouble(textBoxL.Text));
Hc.Settop(Convert.ToDouble(textBoxtop.Text));
Hc.SetKV(Convert.ToDouble(textBoxKV.Text));
Hc.SetKT(Convert.ToDouble(textBoxKT.Text));
Hc.SetPr(Convert.ToDouble(textBoxPr.Text));
Hc.SetGr(Convert.ToDouble(textBoxGr.Text));
Hc.SetRa(Convert.ToDouble(textBoxRa.Text));
Hc.SetNu(Convert.ToDouble(textBoxNu.Text));
Hc.Seta(Convert.ToDouble(textBoxa.Text));

}

private void RunSolver()

{
if (FFlag) DataRefresh();
MessageBoxButtons buttons = MessageBoxButtons.OK;
MessageBox.Show("Расчет успешно завершен", " ", buttons, MessageBoxIcon.Information);

if (Hc.GetL() <= 0)
{
MessageBox.Show("Определяющий размер не может быть меньше 0, измените условия задачи");
return;
}
textBoxtop.Text = Math.Round(Hc.Gettop(Hc._ttn, Hc._tp), 1).ToString();
//textBoxtop.Text = Convert.ToString(Math.Round((double)Hc.Gettop(Hc._ ttn, Hc._tp), 1).ToString());
textBoxKV.Text = Math.Round(Hc.GetKV(Hc._top), 10).ToString();
textBoxKT.Text = Math.Round(Hc.GetKT(Hc._top), 10).ToString();
textBoxPr.Text = Math.Round(Hc.GetPr(Hc._top), 10).ToString();
textBoxGr.Text = Math.Round(Hc.GetGr(Hc._KV, Hc._L, Hc._ttn, Hc._tp), 0).ToString();
//textBoxRa.Text = Math.Round(Hc.GetRa(Hc._Gr(Hc._KV, Hc._L, Hc._ttn, Hc._tp), Hc._Pr(Hc._top), 0)).ToString();
//textBoxNu.Text=Convert.ToString(Math.Round((double )
//textBoxa.Text = Math.Round(Hc.Geta(Hc._Nu, Hc._KT, Hc._L), 1).ToString();


btnOt4.Enabled = true;
отчетToolStripMenuItem.Enabled = true;



}

#endregion

подскажите, что нужно изменить ?
14
03 декабря 2011 года
Phodopus
3.3K / / 19.06.2008
Из путанного объяснения и неоформленного кода я мало что понял но предположу - надо использовать запятую для разделителя дробных и целых вместо точки.
5
04 декабря 2011 года
hardcase
4.5K / / 09.08.2005
Нужно использовать CultureInfo.InvariantCulture для формирования строки (ToString) и последующего разбора строки.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог