如果在按钮单击上选中复选框,则从richtext框中删除文本

时间:2013-04-08 07:34:15

标签: c# winforms

仍然是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也是如此。 我已经寻找了一些可以做到这一点的事情,但老实说我不知道​​如何去做,这限制了我寻找解决方案的能力。我有一种下沉的感觉,我将不得不重做我处理我的数据的方式,但我不确定所以任何帮助将不胜感激。

这也是一个Win Form

1 个答案:

答案 0 :(得分: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循环。只需选中要放置条件的复选框。