Вопрос простой переменной в Visual Studio 2010 Express Пожалуйста, помогите - PullRequest
0 голосов
/ 12 мая 2011

Я пытаюсь сделать конвертер, и у меня есть одна кнопка и два текстовых поля.То, что я хочу, чтобы кнопка при нажатии выполняла преобразование всего, что введено, в другую сторону (что не введено)

ТАКЖЕ!Еще одна вещь, которая была бы хороша, - как мне реализовать выпадающее меню, чтобы мне не нужно было так много кнопок и полей?Благодаря <3 </p>

КНОПКА TEXTBOX TEXTBOX2 (скажем, TEXTBOX - по Фаренгейту, а TEXTBOX2 - по Цельсию) Я вхожу в Фаренгейт, покидаю TEXTBOX2 и нажимаю кнопку, которую я должен получить по Цельсию сейчас.Достаточно просто, верно?

Вот что у меня есть:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;

namespace UnitConverter
{
    public partial class MainPage : PhoneApplicationPage
    {
        // Constructor
        public MainPage()
        {
            InitializeComponent();
        }



        private void button1_Click(object sender, RoutedEventArgs e)
        {

            if (boxc.Text=="")
                boxc.Text = (Convert.ToDouble(boxf.Text) * 9 /5) +32;
        }


        }
    }

Извините, когда дело доходит до чисел и строк, меня всегда бросают в цикл: \ Спасибо заранее за любую помощь.

Ответы [ 4 ]

1 голос
/ 12 мая 2011

Эта строка неверна:

boxc.Text = (Convert.ToDouble(boxf.Text) * 9 / 5) + 32;

Вы пытаетесь вставить двойной текст обратно в текстовое поле;вам нужно преобразовать результат обратно в строку:

boxc.Text = ((Convert.ToDouble(boxf.Text) * 9 / 5) + 32).ToString();

Также вы перепутали формулы;Я полагаю, что вы пытаетесь конвертировать из Фаренгейта (значение в boxf) в Цельсий (значение в boxc), но вы используете формулу для преобразования из Цельсия в Фаренгейт.

0 голосов
/ 12 мая 2011

Используйте это: boxc.Text = ((Convert.ToDouble (boxf.Text) * 9/5) + 32) .ToString ();

вместо boxc.Text = (Convert.ToDouble (boxf.Text) * 9/5) +32;

0 голосов
/ 12 мая 2011

Заменить

boxc.Text = (Convert.ToDouble(boxf.Text) * 9 /5) +32; 

С

boxc.Text = Convert.ToString((Convert.ToDouble(boxf.Text) * 9 /5) +32); 
0 голосов
/ 12 мая 2011
    double c ;
try{
 c= double.Parse(boxf.Text);
}catch{
MessageBox.Show("Error!Invalid Data");
return;
}

    if (boxc.Text.Trim().length==0)
                    boxc.Text =( (c * 9 /5) +32).ToString();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...