c# - 选中复选框时添加新行
问题描述
当我单击一个复选框时,我希望下一个复选框信息显示在新行上,我知道如何使用“\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", "");
}
}
我希望复选框的文本显示在新行上,但是在重新选中该框时,不应在其上方出现空格。
解决方案
最好的方法是建立一个独立于刚刚发生的内容构建文本内容的例程——您可以使用连接或循环来创建文本内容。
将此作为函数并在复选框更改时调用它。该函数循环遍历所有项目,并将它们与格式和总计等一起添加到输出中。
推荐阅读
- asp.net - 类型的成员“Column1”在数据读取器中没有同名的对应列
- c - c结构如何循环?为什么变量没有在程序的位置(2)处赋值?它只打印在位置 (1)?
- winapi - 指向 IFileOperation::DeleteItems 方法的 IShellItemArray 的 IUnknown 的指针
- python - 减少 XML 文件编程的代码长度 (Python)
- python-3.x - 如何从每个第一个非 NaN 值中过滤数据框,直到下一个并从相应列中求和值?
- angular - 具有动态 ID 的默认路由
- java - 使用 json-simple-1.1.1.jar 运行 Java 文件的终端命令
- apache-spark - Spark-submit 在 HTTP 代理后面时无法解析 --package 依赖项
- javascript - 机器人正在删除所有消息
- if-statement - 在 If 语句期间调用另一个子