0

ユーザーが持っているかどうかをボタンで確認する必要があります。

  • 位置テキストボックスにテキストを入力しました
  • 名前のテキストボックスにテキストを入力しました

何も入力されていない場合は、エラー メッセージ ボックスが表示され、手順が終了します。

また、insertIntoArrayist() プロシージャを呼び出して値を渡し、新しい値を配列リストに挿入する必要もあります。そして populateActors() を呼び出します。

これが私がこれまでに持っているものです:

public void ()
{
  *snip*
}

現時点では、名前が追加されることは確かですが、正しい位置には追加されません。たとえば、「Bob Marley」という名前を位置「1」に追加する場合は、配列の先頭に移動する必要があります。コードには他にもいくつかのエラーがある可能性がありますので、見つけたらお知らせください。すべてのヒントをいただければ幸いです:)

4

1 に答える 1

1

ボタン クリック ハンドラの do-while ループは大きな問題です。

//This button needs to give the error if the name or position in the array are left blank//
private void btnInsert_Click(object sender, EventArgs e)
{
    // BIG PROBLEM HERE!!!!
    do
    {
        string message = "Invalid Name or Position entered.";
        MessageBox.Show(message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
    }
    while (int.Parse(txtPosition.Text == null));

    InsertIntoArrayList(actName, posNum);
    PopulateActors();
}

ボタンが最初にクリックされたときに、int.Parse(txtPosition.Text == null)条件が満たされていない場合は、エラーを修正する機会をユーザーに与えることなく、メッセージ ボックスが繰り返し表示されます。

代わりにこれを試してください:

//This button needs to give the error if the name or position in the array are left blank//
private void btnInsert_Click(object sender, EventArgs e)
{
    if (int.Parse(txtPosition.Text == null)) {
        MessageBox.Show(message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
    } else {
        InsertIntoArrayList(actName, posNum);
        PopulateActors();
    }
}

これは代わりに、ボタンがクリックされるたびに状態をチェックし、ユーザーに問題を修正する機会を与えます。

あなたの配列挿入コードは私にはうまく見えます。

于 2013-09-25T05:33:31.807 に答える