Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Visual C# ввод числовых значений в GUI

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

ikif



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
День добрый,
Задача такая:
Есть 2 поля для чисел ( одно в вольтах , второе в дБ)
Меня одно из полей , другое должно обновляться соответственно.
 
В тот момент как прописываю что то , то в 'sender' находиться то что было внутри , а в 'е' то что было нажато.
 
Не во всех ситуациях  это работает правильно ..... Например : было написано в клетке 2, я обвел это число и хочу написать 1, то получим 21.
 
 

Код:
 
private void Amplitude_box_KeyPress(object sender, KeyPressEventArgs e)
{
            if (!(Char.IsDigit(e.KeyChar)) &&
                         !((e.KeyChar == '.') &&  
                         (Amplitude_box.Text.IndexOf(".") == -1) &&  
                         (Amplitude_box.Text.Length != 0)))
                                 if (e.KeyChar != (char)Keys.Back)
                                        e.Handled = true;
            if (Char.IsDigit(e.KeyChar))
            {
                double Nom = Convert.ToDouble(((TextBox)sender).Text + e.KeyChar.ToString());
                if (Nom > 2)
                {
                    Nom = 2;
                    Amplitude_box.Text = "2";
                }
                else if (Nom < 0)
                {
                    Nom = 0;
                    Amplitude_box.Text = "0";
                }
                double attStart = Math.Log10(2d / (double)Nom);
                attStart = Math.Round(20 * attStart, 2);
                Atten_box.Text = attStart.ToString();
            }
        }
 
        private void Atten_box_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!(Char.IsDigit(e.KeyChar)) &&
                          !((e.KeyChar == '.') &&  
                          (Atten_box.Text.IndexOf(".") == -1) &&  
                          (Atten_box.Text.Length != 0)))
                                      if (e.KeyChar != (char)Keys.Back)
                                            e.Handled = true;
            //if (e.KeyChar == (char)Keys.Enter)
            {
                double Nom1 = -1 * Convert.ToDouble(((TextBox)sender).Text);
                double attStart = Math.Round(Math.Pow(10, Nom1 / 20) * 2, 2);
                Amplitude_box.Text = attStart.ToString();
            }      
        }
 

 
 
Как тут можно нормально вставить код на форуме ?
 
 
Заранее благодарен.

Всего записей: 164 | Зарегистр. 09-12-2006 | Отправлено: 18:12 16-09-2014
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Visual C# ввод числовых значений в GUI


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru