3

我正在尝试使用 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 回答