Поврекайте число на основе изменений в числах в текстовом полеC#

Место общения программистов C#
Ответить
Anonymous
 Поврекайте число на основе изменений в числах в текстовом поле

Сообщение Anonymous »

Я пытаюсь создать утилиту для расчета ватт или усилителей, требуемых на основе заданного напряжения. Я хочу иметь возможность набрать напряжение, силу или мощность, а затем рассчитывать другое. Например, если я положил напряжение и силу, он хочет, чтобы оно рассчитало мощность; Или положить напряжение и мощность, я хочу рассчитать силу. Я также хочу иметь возможность изменить либо мощность, либо силу, а затем пересматривать. Я могу заставить один работать, но не другой. < /P>
Вот мой код: < /p>

Код: Выделить всё

int Amperage = 0;
int Voltage = 0;
int Wattage = 0;

private void TxtWattage_TextChanged(object sender, EventArgs e)
{
//// Use a Regex to check if the text contains any non-digit characters
if (System.Text.RegularExpressions.Regex.IsMatch(TxtWattage.Text, "[^0-9]"))
{
// If there's a non-digit character, remove it
TxtWattage.Text = TxtWattage.Text.Remove(TxtWattage.Text.Length - 1);
TxtWattage.SelectionStart = TxtWattage.Text.Length;
}
}

private void TxtAmperage_TextChanged(object sender, EventArgs e)
{

// Use a Regex to check if the text contains any non-digit characters
if (System.Text.RegularExpressions.Regex.IsMatch(TxtAmperage.Text, "[^0-9]"))
{
// If there's a non-digit character, remove it
TxtAmperage.Text = TxtAmperage.Text.Remove(TxtAmperage.Text.Length - 1);
TxtAmperage.SelectionStart = TxtAmperage.Text.Length;
}
}

private void TxtVoltage_TextChanged(object sender, EventArgs e)
{
// Use a Regex to check if the text contains any non-digit characters
if (System.Text.RegularExpressions.Regex.IsMatch(TxtVoltage.Text, "[^0-9]"))
{
// If there's a non-digit character, remove it
TxtVoltage.Text = TxtVoltage.Text.Remove(TxtVoltage.Text.Length - 1);
TxtVoltage.SelectionStart = TxtVoltage.Text.Length;

}
}

private void Form1_Load(object sender, EventArgs e)
{
TxtWattage.MaxLength = 16;
TxtAmperage.MaxLength = 16;
TxtVoltage.MaxLength = 16;
TxtVoltage.Text = "0";
TxtAmperage.Text = "0";
TxtWattage.Text = "0";
Amperage = Convert.ToInt16(TxtAmperage.Text);
Wattage = Convert.ToInt16(TxtWattage.Text);
Voltage = Convert.ToInt16(TxtVoltage.Text);
}

private void BtnCalculate_Click(object sender, EventArgs e)
{
Amperage = Convert.ToInt16(TxtAmperage.Text);
Voltage = Convert.ToInt16(TxtVoltage.Text);

// this is where I am stuck. I can get either one to work if I comment out the other one.

// Calculate wattage
Wattage = Voltage * Amperage;
TxtWattage.Text = Wattage.ToString();

// Calculate amperage
Amperage = Wattage / Voltage;
TxtAmperage.Text = Amperage.ToString();

}

private void TxtVoltage_Enter(object sender, EventArgs e)
{
TxtVoltage.SelectAll();
}

private void TxtAmperage_Enter(object sender, EventArgs e)
{
TxtAmperage.SelectAll();
}

private void TxtWattage_Enter(object sender, EventArgs e)
{
TxtWattage.SelectAll();
}

private void TxtVoltage_Click(object sender, EventArgs e)
{
TxtVoltage.SelectAll();
}

private void TxtAmperage_Click(object sender, EventArgs e)
{
TxtAmperage.SelectAll();
}

private void TxtWattage_Click(object sender, EventArgs e)
{
TxtWattage.SelectAll();
}
}

Подробнее здесь: https://stackoverflow.com/questions/796 ... in-textbox
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»