0

ユーザーが 100 の異なる測定値を入力できるフォームを作成する必要があります。次に、100 個の異なる重みを入力します。同じテキスト ボックスを使用したい。1 つは測定用、もう 1 つは重量用です。次に、値を保存してからリセットして、次の値を受け入れるようにします。これを達成するために誰かが私を正しい方向に向けることができますか? 1時間以上探しましたが、何も見つかりません。よろしくお願いいたします。

4

1 に答える 1

3

ユーザーが送信ボタンをクリックすると、両方のテキストボックスの値をリストまたは辞書に追加します。必要な数の list.Count に達するまでこれを行います。あなたの質問が正しく理解できなかった場合はお知らせください。

WPF (C#) では、次のようになります。

// Dictionary to save values
Dictionary<string, int> dict = new Dictionary<string, int>();

// Method that is called on user submit button click
private void HandleSubmit(object sender, EventArgs args) {
    // Add values of both textboxes to dictionary
    dict.Add(textBox1.Text, Int32.Parse(textBox2.Text));

    // Check if all data is entered
    // then activate custom method
    if(dict.Count >= 100) {
        CUSTOMMETHOD(dict);
    }
}

- 編集 -

@briskovichあなたのコメントを理解したように。最初に 100 個の圧力サンプルすべてを保存してから、100 個の重量サンプルを入力します。その場合、辞書を使用する必要はありません。圧力と重量に 2 つの List<int> を使用できます。その場合、コードは次のようになります。

// Variables to save our data
// numberValues - number of values user needs to enter
// pressureList - list of entered pressure data
// weightList - list of entered weight data
int numberValues = 100;
List<int> pressureList = new List<int>();
List<int> weightList = new List<int>();

// Method that is called on user submit button click
// This method uses only one text box to input data,
// first we input pressure data until limit is reached 
// and then weight data
private void HandleSubmit(object sender, EventArgs args) {
    // Check if we are still entering pressure data, that
    // is until we reach numberValues of pressure data values
    // Same thing goes for weight list
    if (pressureList.Count < numberValues) {
        pressureList.Add(Int32.Parse(textBox1.Text));
    }
    else if (weightList.Count < numberValues) {
        weightList.Add(Int32.Parse(textBox1.Text));
    }
    else {
        // When we have #numberValues of values in both 
        // lists we can call custom method to process data
        CUSTOMMETHOD(pressureList, weightList);
    }
}

// Method for processing data
private void CUSTOMMETHOD(List<int> pressures, List<int> weights) {
    // This loop will go through all values collected and
    // will give you access to both pressure and weight on
    // each iteration
    for (int index = 0; index < numberValues; index++) {
        int currentPressure = pressures.ElementAt(index);
        int currentWeight = weights.ElementAt(index);

        // Do processing here
    }
}
于 2012-08-21T00:19:44.007 に答える