Я пытаюсь создать утилиту для расчета ватт или усилителей, требуемых на основе заданного напряжения. Я хочу иметь возможность набрать напряжение, силу или мощность, а затем рассчитывать другое. Например, если я положил напряжение и силу, он хочет, чтобы оно рассчитало мощность; Или положить напряжение и мощность, я хочу рассчитать силу. Я также хочу иметь возможность изменить либо мощность, либо силу, а затем пересматривать. Я могу заставить один работать, но не другой. < /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();
}
Я пытаюсь создать утилиту для расчета ватт или усилителей, требуемых на основе заданного напряжения. Я хочу иметь возможность набрать напряжение, силу или мощность, а затем рассчитывать другое. Например, если я положил напряжение и силу, он хочет, чтобы оно рассчитало мощность; Или положить напряжение и мощность, я хочу рассчитать силу. Я также хочу иметь возможность изменить либо мощность, либо силу, а затем пересматривать. Я могу заставить один работать, но не другой. < /P> Вот мой код: < /p> [code]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; } }
// 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;