-1

重複の可能性:
ボタンをクリックして配列を格納し、最大値と最小値を表示するC#GUIアプリケーション

これは13時間前から更新されており、私はこれを数回調査して実験してきました。私はこのプログラミング分野に慣れていないので、簡単に説明します。C#を学び、ユーザーの入力からテキストボックスへの整数をbutton1_Clickから計算してフォームに表示する方法を学習しようとしています。はい、これはクラスの割り当てですが、すべてではありませんが、一部はうまく処理できていると思います。だから私は皆さんに目を向けています。アドバイスをしてくれてありがとう。

C#言語でMicrosoft VisualStudio2010を使用しています。Windowsフォームアプリケーションを使用しており、button_Clickオブジェクトから呼び出される配列に格納される10個の整数値をユーザーが入力できるようにするGUIを作成する必要があります。これらの値には、ユーザーが入力した最高値と最低値が表示されます。唯一のことは、配列はClick()メソッドの上で宣言する必要があるということです。

これは私がこれまでに思いついたものです:

namespace SmallAndLargeGUI
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public void inputText_TextChanged(object sender, EventArgs e)
        {
            this.Text = inputText.Text;
        }

        public void submitButton_Click(object sender, EventArgs e)
        {
            int userValue; 
            if(int.TryParse(inputText.Text, out userValue)) 
        { 

        } 
        else 
        {
            MessageBox.Show("Please enter a valid integer into the text box.");
        } 


            int x;
            x = Convert.x.ToString();
            int squaredResults = squared(x);
            int cubedResults = cubed(x); squared(x);
            squaredLabel.Text = x.ToString() + " squared is " + squaredResults.ToString();
            cubedLabel.Text = x.ToString() + " cubed is " + cubedResults.ToString();
        }
        public static int squared(int x)
        {
            x = x * x;
            return x;
        }
        public static int cubed(int x)
        {
            x = x * squared(x);
            return x;    
        }
    }
}

38行目に次のエラーメッセージが表示されているため、このプログラムを実行できません。'System.Convert'には'x'の定義が含まれていません。また、テキストボックスから10個の整数を保持し、上記で宣言されている配列が必要です。 Click()メソッド。みんな、助けてくれませんか?これは昨日の期限でした。

4

3 に答える 3

3

いくつかのコメントが述べているように、有用な回答を提供するのに十分な情報がここにはありません. Windows アプリケーション用の .Net には、2 つの主要なユーザー インターフェイス フレームワークがあります。これらの 1 つは一般に "WinForms" と呼ばれ、もう 1 つは "WPF" または "Windows Presentation Foundation" と呼ばれます。

WinForms は 2 つのテクノロジのうち古い方なので、WinForms を使用している可能性が最も高いと思います。ここでのアプローチは、少し調整するだけで両側で使用できます。テキスト ボックスにテキストを設定することは、ラベルにプログラムでテキストを設定することに非常に似ています。詳細については、MSDN を参照してください: How to: Display Text on a Windows Form ; 方法: TextBox コントロールを使用してユーザー入力を取得します

WPF を使用している場合、「バックエンド」コードはほとんど同じです。x:Name="userInputTextBox"コードビハインドで参照できるように、テキストボックスに があることを確認するだけです。ユーザーはフィールドに「1」、「3」、または「abcd」を入力できることに注意してくださいアプリが爆撃されないようにすることは、おそらく課題の外にありますが、C#int.TryParse(...)と "Try Catch" を調べてみてください :-)

ボタン ハンドラーは次のようになります。

void btnUserClick_Click(object sender, System.EventArgs e)
{
    int userValue;
    if(int.TryParse(txtUserInput.Text, out userValue))
    {
        // We have the value successfully, do calculation
    }
    else
    {
        // We don't have the users value.
        MessageBox.Show("Please enter a valid integer into the text box.")
    }
}
于 2012-06-28T03:10:19.280 に答える
0

retrieveInput_Clickハンドラーでは、最小/最大の数値をローカルの int に割り当てています。ロジックで最小/最大数を決定したら、それらのローカル整数を表示用の UI 要素に割り当てる必要があります。

特定の UI の選択に関する詳細がないため、簡単な解決策の 1 つは、フォームに 2 つのラベルを追加し、コードで結果をラベルに配置することです。

for (int i = 0; i < numbers.Length; ++i)
{
  if (numbers[i] < min)
     min = numbers[i];
  if (numbers[i] > max)
     max = numbers[i];
}

// Assign Minimum to Label1
Label1.Text = "Minimum Value: " + min.ToString();
// Assign Maximum to Label2
Label2.Text = "Maximum Value: " + max.ToString();
于 2012-06-28T04:29:00.913 に答える
0
  1. textbox1 または txt_name という名前のテキストボックスを定義します

  2. button1_Click 関数を書くことができます:

    int i_value = Convert.ToInt16(txt_name.Text);
    

わかった。私は例外をキャッチしようとしていません.... :(

多分上記の答えは正しいです。

ところで、この質問は主に、テキスト ボックスから int 型を取得する方法に焦点を当てていると思います。右?

于 2012-06-28T03:05:58.673 に答える