3

名前、州、都市などを入力し、ボタンをクリックすると、各ボックスに入力したすべてのテキストが表示され、1 つのラベルに表示される、WinForms を使用して宛名ラベル プログラムを作成しようとしています。私は近いですが、プログラムを実行すると、単語の間にスペースがありません。これが私のコードです:

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

        private void btnDisplay_Click(object sender, EventArgs e)
        {
            lblMessage.Text = txtFirst.Text + txtLast.Text;
        }

        private void btnExit_Click(object sender, EventArgs e)
        {
            //This closes the program.
            this.Close();
        }

        private void btnClear_Click(object sender, EventArgs e)
        {
            //This clears all textbox forms.
            txtFirst.Text = string.Empty;
            txtLast.Text = string.Empty;
            txtCity.Text = string.Empty;
            txtStreet.Text = string.Empty;
            txtState.Text = string.Empty;
            txtZip.Text = string.Empty;
        }
    }
}
4

4 に答える 4

8

これを置き換えます:

lblMessage.Text = txtFirst.Text + txtLast.Text;

これとともに:

lblMessage.Text = txtFirst.Text + " " + txtLast.Text;

誰かが先頭/末尾の空白を入力すると、次のようになります。

lblMessage.Text = trim(txtFirst.Text) + " " + (txtLast.Text);
于 2013-09-24T05:36:24.963 に答える
0
lblMessage.Text = txtFirst.Text + " " +  txtLast.Text;
于 2013-09-24T05:37:13.230 に答える
0

試す

lblMessage.Text = string.Format("{0} {1}", txtFirst.Text, txtLast.Text);

次のようなテキストをさらに追加できます

lblMessage.Text = string.Format("{0} {1} {2} {3}...", txtFirst.Text, txtLast.Text, text2, text3...);
于 2013-09-24T05:37:54.980 に答える
0

これは、文字列を連結するときにそれらの間にスペースを追加しなかったためです。以下を使用できます。

lblMessage.Text = String.Join(" ", txtFirst.Text, txtLast.Text);

同じJoinメソッドを任意の数のフィールドに使用できます。

String.Join(" ", txtFirst.Text, txtLast.Text, txtCity.Text);

または、次を使用できますString.Format

string.Format("Name: {0} {1}, Address: {2}", txtFirst.Text, txtLast.Text, txtCity.Text);
于 2013-09-24T05:38:44.590 に答える