-6

クライアントのリストを作成しようとしています。ユーザーが新しいクライアントの名前を挿入するときは、この名前をリストに追加して、メッセージボックスに表示する必要があります。事前設定されたクライアントは、ジャック、サンドラ、アンナ、トム、ボブです。次のスクリプトを実行して新しいクライアント名を入力すると、新しい名前なしでポップアップが表示されます。どうしてこれなの?

    private void btnAddClient_Click(object sender, EventArgs e)
    {

        string msg = "";

        List<string> Clients = new List<string>();
        Clients.Add("Jack");
        Clients.Add("Sandra");
        Clients.Add("Anna");
        Clients.Add("Tom");
        Clients.Add("Bob");

        foreach (string val in Clients)
        {
            msg += "- " + val + "\n";
        }

        if (txtAddClient.Text == "")
        {
            MessageBox.Show("No client name has been entered!");
        }
        else
        {
            string newClient = txtAddClient.Text;
            Clients.Add(newClient);
            MessageBox.Show(msg);
        }
    }
4

5 に答える 5

3

テキストボックスのデータにmsg変数を追加していないためです。

既存のクライアントをループして変数を追加しますが、テキストボックスが空ではないと判断したら、リストにコンテンツを追加してmsg変数を表示します。入力したデータをmsg変数に追加する必要があります。

@Tishoのコード例を実装する方法を参照してください-彼のコードを自分のものとしてコピーしたくありませんでした

于 2012-07-16T12:55:18.673 に答える
1
    private void btnAddClient_Click(object sender, EventArgs e)
    {

        string msg = "";

        List<string> Clients = new List<string>();
        Clients.Add("Jack");
        Clients.Add("Sandra");
        Clients.Add("Anna");
        Clients.Add("Tom");
        Clients.Add("Bob");

        if (txtAddClient.Text == "")
        {
            MessageBox.Show("No client name has been entered!");
        }
        else
        {
            string newClient = txtAddClient.Text;
            Clients.Add(newClient);

            // this is where you want to join your string
            // AFTER you add the new client to the list
            foreach (string val in Clients)
            {
                msg += "- " + val + "\n";
            }

            MessageBox.Show(msg);
        }
    }
于 2012-07-16T12:56:51.700 に答える
0
public partial class Form1 : Form
{
    List<string> Clients = new List<string>();

    public Form1()
    {
        InitializeComponent();
        Clients.Add("Jack");
        Clients.Add("Sandra");
        Clients.Add("Anna");
        Clients.Add("Tom");
        Clients.Add("Bob");
    }

    private void btnAddClient_Click(object sender, EventArgs e)
    {
        if (txtAddClient.Text == "")
        {
            MessageBox.Show("No client name has been entered!");
        }
        else
        {
            string msg = "";
            string newClient = txtAddClient.Text;
            Clients.Add(newClient);
            foreach (string val in Clients)
            {
                msg += "- " + val + "\n";
            }
            MessageBox.Show(msg);
        }
    }
}
于 2012-07-16T13:55:25.717 に答える
0

あなたがしなければならない

msg += txtAddClient.Text;

その後

MessageBox.Show(msg);
于 2012-07-16T12:57:01.990 に答える
0

更新しました:

private List<string> Clients = new List<string>(){ "Jack", "Sandra", "Anna", "Tom", "Bob"};

private void btnAddClient_Click(object sender, EventArgs e)
{
    string msg = "";

    if (txtAddClient.Text == "")
    {
        MessageBox.Show("No client name has been entered!");
    }
    else
    {
        string newClient = txtAddClient.Text;
        Clients.Add(newClient);
        foreach (string val in Clients)
        {
            msg += "- " + val + "\n";
        }
        MessageBox.Show(msg);
    }
}
于 2012-07-16T12:56:12.053 に答える