0

对 C# 来说还是新手,并且已经在这个程序上工作了一段时间,并添加了不同的功能等等。该程序适用于我的工作,它会记录笔记。本质上,您将所有信息输入到几个不同的文本框中,然后单击一个按钮,它将信息组合到一个大的输出 Richtextbox 中,并为其添加一些格式并保存到文件中并将信息复制到剪贴板。

我想设置它,这样如果我在点击按钮处理所有内容时选中了一个特定的复选框,它将省略一些格式。我正在使用字符串生成器将信息移动到输出框中。这是我如何工作的一些代码示例。如果需要更多信息,请告诉我,我很乐意提交。

private void save_button_Click(object sender, EventArgs e)
{
    //Starts the Stringbuilder
    System.Text.StringBuilder strBuilder = new System.Text.StringBuilder();
    {
        string cbrSame = custBtnText.Text;
        if (cbrSameCbx.Checked)
        {
            custCbrText.Text = cbrSame;
        }

        //Writes textboxes to the stringbuilder
        strBuilder.AppendLine("\u2022 CX NAME: " + custNameText.Text);
        strBuilder.AppendLine("\u2022 BTN: " + custBtnText.Text);
        strBuilder.AppendLine("\u2022 CBR: " + custCbrText.Text);
        strBuilder.AppendLine("\u2022 MODEM: " + custModemText.Text);
        //Statements to write checkboxes to stringbuilder

        string checkBoxesLine = "\u2022 LIGHTS: ";

        foreach (Control control in pnlCheckBoxes.Controls)
        {
            if (control is CheckBox)
            {
                CheckBox checkBox = (CheckBox)control;

                if (checkBox.Checked && checkBox.Tag is string)
                {
                    string checkBoxId = (string)checkBox.Tag;
                    checkBoxesLine += string.Format("{0}, ", checkBoxId);
                    checkBoxes = checkBoxesLine;
                }
            }
        }
        //Newline for checkboxes
        strBuilder.AppendLine(checkBoxesLine);
        strBuilder.AppendLine();

        //Continues textboxes to stringbuilder
        strBuilder.AppendLine("\u2022 TROUBLESHOOTING: " + tShootText.Text);
        strBuilder.AppendLine();
        strBuilder.AppendLine("\u2022 SERVICES OFFERED: " + svcsOfferedText.Text);
        strBuilder.AppendLine();
        strBuilder.AppendLine("\u2022 OTHER NOTES: " + otherNotesText.Text);
        notesViewText.Text = strBuilder.ToString();
        Clipboard.SetText(notesViewText.Text);
        //....

本质上,如果在该按钮上选中了 checkbox1,我想添加一个功能,按下它会省略 custModemText.text 以及 \u2022 MODEM: 以及 \u2022 LIGHTS: 和字符串 checkBoxesLine。我已经寻找了一些东西来做到这一点,但老实说,我不知道如何去做,这限制了我寻找解决方案的能力。我有一种下沉的感觉,我将不得不重做我处理数据的方式,但我不确定,所以任何帮助都将不胜感激。

这也是一个获胜表格

4

1 回答 1

1

你需要做什么你首先检查复选框是否被选中。如果选中,则修改您的文本。

private void save_button_Click(object sender, EventArgs e)
{
    // Add mandatory lines to a string.
    if (checkBox1.Checked)
    {
         // Append optional lines to the string.
    }
    else
    {
        // Do something.
    }
}

您不需要执行 foreach 循环。只需选中您要设置条件的复选框。

于 2013-04-08T07:42:29.027 回答