首页 > 解决方案 > 选中复选框时添加新行

问题描述

当我单击一个复选框时,我希望下一个复选框信息显示在新行上,我知道如何使用“\r\n”执行此操作,但是当取消选中该框并重新选中该框时,它会在上方添加一个新行text 将原始文本下移 1 行。https://imgur.com/a/IHDDG85

我试过 "\r\n" 和 Environment.NewLine

        private void chkHamburger_CheckedChanged(object sender, EventArgs e)
        {

            if (chkHamburger.Checked == true)
            {
                txtHamburger.Enabled = true;
                txtHamburger.Text = "";
                txtHamburger.Focus();
                txtOrder.Text += ("Hamburger");
            }
            else
            {
                txtHamburger.Enabled = false;
                txtHamburger.Text = "0";
            }
            if (chkHamburger.Checked == false)
            {
                txtOrder.Text = txtOrder.Text.Replace("Hamburger", "");
            }
        }

        private void chkCheeseBurger_CheckedChanged(object sender, EventArgs e)
        {
            if (chkCheeseBurger.Checked == true)
            {
                txtCheeseBurger.Enabled = true;
                txtCheeseBurger.Text = "";
                txtCheeseBurger.Focus();
                txtOrder.Text += ("Cheese Burger");
            }
            else
            {
                txtCheeseBurger.Enabled = false;
                txtCheeseBurger.Text = "0";
            }
            if (chkCheeseBurger.Checked == false)
            {
                txtOrder.Text = txtOrder.Text.Replace("Cheese Burger", "");
            }

        }

我希望复选框的文本显示在新行上,但是在重新选中该框时,不应在其上方出现空格。

标签: c#

解决方案


最好的方法是建立一个独立于刚刚发生的内容构建文本内容的例程——您可以使用连接或循环来创建文本内容。

将此作为函数并在复选框更改时调用它。该函数循环遍历所有项目,并将它们与格式和总计等一起添加到输出中。


推荐阅读