2

数値の上下を使用して、ユーザーが行ったタイピングテストのスコアを格納する配列を前後に移動しようとしています。正直なところ、どこから始めればいいのかさえわかりません。私はいくつかのコードを書きましたが、それはほとんど何もしていないようです。

    private void testUpDown_ValueChanged(object sender, EventArgs e)
    {
        foreach (testUpDown.Value = allTests[i])
        {
            prevErrorsBox = Errors.ToString();
            prevWpmBox = WPM.ToString();
        }
    }

ご想像のとおり、それはあまり効果がありません。これに別のコントロールを使用する必要がありますか?重要な場合、これは3層設計で行われます。このフォームにデータベースからの値もロードさせる必要があります。

助けてくれてありがとう。

4

1 に答える 1

1

配列の境界を超えないように、Up/Downコントロールを使用して配列のインデックスを変更する必要があります。このようなものがあなたのために働くかどうか見てください。

public partial class Form1 : Form
{
    string[] values;
    public Form1()
    {
        InitializeComponent();
        values = setValueArray();
        numericUpDown1.Maximum = values.Length - 1;
        numericUpDown1.Minimum = 0;
    }

    private string[] setValueArray()
    {
     return new string[] { "100", "90", "80", "70", "60" };
    }

    private void numericUpDown1_ValueChanged(object sender, EventArgs e)
    {
        label1.Text = values[(int)((NumericUpDown)sender).Value];
    }
}
于 2012-11-25T06:05:41.540 に答える