【问题标题】:build a string using checkbox使用复选框构建字符串
【发布时间】:2008-10-24 07:51:52
【问题描述】:

谁能告诉我如何使用复选框构建字符串。最好的方法是什么。

例如,我有 4 个复选框,每个复选框都有自己的值(valueA、valueB、valueC、valueD) 问题是我想在不同的行中显示每个结果。

选择 B & C 的结果:

值B
值C

如果我将它保存到数据库中,我将如何再次显示它?

【问题讨论】:

    标签: c# visual-studio checkbox


    【解决方案1】:

    使用 StringBuilder 构建字符串,并在每次追加时追加 Environment.NewLine:

    StringBuilder builder = new StringBuilder();
    foreach (CheckBox cb in checkboxes)
    {
        if (cb.Checked)
        {
            builder.AppendLine(cb.Text); // Or whatever
    
            // Alternatively:
            // builder.Append(cb.Text);
            // builder.Append(Environment.NewLine); // Or a different line ending
        }
    }
    // Call Trim if you want to remove the trailing newline
    string result = builder.ToString();
    

    要再次显示它,您必须将字符串分成几行,并检查每个复选框以查看其值是否在集合中。

    【讨论】:

    • @Jon - 你为什么要做两个追加而不是 AppendLine(cb.Text)?
    • 由于未能记住 AppendLine - 已适当编辑:)
    • (话虽如此,如果您需要特定的换行符表示而不是“此平台的默认值”,则执行两个附加可能是明智的。如果您总是在 Windows 上运行,可能不是问题不过。)
    • 很好,只要你不知道我不知道的事情 :) (不过,说实话,这只是给定的!)
    • @Adyt:添加了替代代码。我希望你正在努力争取到 VS2008 :)
    【解决方案2】:

    伪代码:

    For each checkbox in the target list of controls
        append value and a newline character to a temporary string variable
    output temporary string 
    

    【讨论】:

      【解决方案3】:
      "if I saved this into a database" ? 
      

      如果您真的要在这里获得任何帮助,您需要更具体地完成家庭作业...

      编辑:好的,它可能不是家庭作业,但读起来确实像 - 毕竟,操纵 GUI 以生成用户选择的视图是 Interfaces 101 - 甚至这不是一个糟糕的问题,没有足够的细节来获得一个体面的答案。

      【讨论】:

      • @Unsliced:“没有足够的细节来获得一个体面的答案”——我的回答没有涵盖问题的哪一部分?是的,更多细节会很好,但它真的并不“糟糕”。
      猜你喜欢
      • 2011-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多