麻烦各位大神、小神:
   我想选中爱好后会出现在文本框,取消后所选中的爱好从文本消失 ,不影响其他爱好在文本框的显示,也就是说选了几个爱好在取消一个这个消失其他的不变;这代码该怎么写?
                            我都搞一天了!没搞出来!初学者,各位大神、小神帮帮忙!

解决方案 »

  1.   

    现在有时间,你上面4个爱好是啥,我来给你写个demo吧
      

  2.   

    假设控件为CheckedListBoxprivate void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
                {
                    this.textBox1.Text=string.Empty;
                    foreach (var item in this.checkedListBox1.CheckedItems)
                    {
                        this.textBox1.Text += item.ToString() + "\r\n";
                    }
                }
      

  3.   


    所有Checkbox都调用这一个事件private void checkBox4_Click(object sender, EventArgs e)
            {
                string txt = "";
                foreach (Control item in Controls)
                {
                    if (item is CheckBox)
                    {
                        if (((CheckBox)item).Checked)
                            txt += ((CheckBox)item).Text+"\r\n";
                        else
                            txt = txt.Replace(((CheckBox)item).Text, "");
                    }
                }
                richTextBox1.Text = txt;
            }
      

  4.   


     List<string> hbs = new List<string>();
            string hb = string.Empty;        private void checkBox1_CheckedChanged(object sender, EventArgs e)
            {
                hb = string.Empty;
                if (this.checkBox1.Checked)
                    hbs.Add(this.checkBox1.Text);
                else
                    hbs.Remove(this.checkBox1.Text);            foreach (string s in hbs)
                {
                    hb += s;
                }
                this.textBox1.Text = hb;
            }        private void checkBox2_CheckedChanged(object sender, EventArgs e)
            {
                hb = string.Empty;
                if (this.checkBox2.Checked)
                    hbs.Add(this.checkBox2.Text);
                else
                    hbs.Remove(this.checkBox2.Text);
                foreach (string s in hbs)
                {
                    hb += s;
                }
                this.textBox1.Text = hb;
            }
      

  5.   


    清空代码     private void button2_Click(object sender, EventArgs e)
            {
                foreach (Control item in Controls)
                {
                    if (item is CheckBox)
                    {
                        if (((CheckBox)item).Checked)
                            ((CheckBox)item).Checked = false;
                    }
                }
                richTextBox1.Text = "";
            }
      

  6.   

    写完了,你看一下:public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();            //注意,所有的checkBox都绑定一个事件就可以了
                checkBox1.CheckedChanged+=new EventHandler(checkBox1_CheckedChanged);
                checkBox2.CheckStateChanged += new EventHandler(checkBox1_CheckedChanged);
                checkBox3.CheckedChanged += new EventHandler(checkBox1_CheckedChanged);
                checkBox4.CheckedChanged += new EventHandler(checkBox1_CheckedChanged);
            }
            List<string> list = new List<string>();
            private void checkBox1_CheckedChanged(object sender, EventArgs e)
            {
                CheckBox cb = sender as CheckBox;
                if (cb != null)
                {
                    if (cb.Checked)
                    {
                        list.Add(((CheckBox)sender).Text);
                    }
                    else
                    {
                        list.Remove(((CheckBox)sender).Text);
                    }
                    ShowTxt(list);
                }
               
            }
           
            private void ShowTxt(List<string> list)
            {
                if (list == null || list.Count == 0) return;
                StringBuilder str = new StringBuilder();
                foreach (string s in list)
                {
                    str.Append(s);
                    str.Append("\r\n");
                }
                textBox1.Text = str.ToString();
            }
        }
      

  7.   

    显示的方法要清空一下,否则第一项取消的时候没清空private void ShowTxt(List<string> list)
            {
                textBox1.Clear();//清空文本框
                if (list == null || list.Count == 0) return;            
                StringBuilder str = new StringBuilder();
                foreach (string s in list)
                {
                    str.Append(s);
                    str.Append("\r\n");
                }
                textBox1.Text = str.ToString();
            }
      

  8.   

    绑定操作啦,  文件框绑定一个List对象.  然后注册相应的事件即可!