如何写#前产品,如果我有复选框选中和删除,如果没有

本文关键字:复选框 如果没有 删除 如果 何写 | 更新日期: 2023-09-27 18:16:20

我有一个文本文件installer_input.ini,它是这样的:

Rows
... 
product.name1
product.name2
...
product.nameN
...
Rows

在一个表单应用程序中,我有一个CheckBox1从ChecedListBox2中选择/取消选择所有项目,为此我使用下一个代码:

 private void checkBox1_CheckedChanged_1(object sender, EventArgs e)
 {
     string path = AppDomain.CurrentDomain.BaseDirectory.ToString();
     var lin = (path + "config.ini").ToString();
     var lines = File.ReadAllLines(lin);
     string InstallerFile = lines.Where(txt => txt.Contains("IstallerFile="))
                                 .Select(txt => txt.Split('=')[1].Replace("'"", ""))
                                 .FirstOrDefault();
     string pathTemp = @"C:'temp'";
     string[] pathArr = InstallerFile.Split('''');
     string[] fileArr = pathArr.Last().Split('''');
     string fileArr1 = String.Join(" ", fileArr);
     string installerfilename = pathTemp + fileArr1;
     string installertext = File.ReadAllText(installerfilename);
     var linInst = File.ReadLines(pathTemp + fileArr1).ToArray();
     if (this.ActiveControl != sender)
         return;
     CheckBox cb = sender as CheckBox;
     if ((cb.Checked) && (checkedListBox2.CheckedItems.Count != checkedListBox2.Items.Count))
     {
         for (int i = 0; i < this.checkedListBox2.Items.Count; i++)
         {
             this.checkedListBox2.SetItemChecked(i, true);        
         }
     }
     else if ((!cb.Checked) && ((checkedListBox2.CheckedItems.Count != checkedListBox2.Items.Count) || (checkedListBox2.CheckedItems.Count == checkedListBox2.Items.Count)))
     {                  
         //checkBox1.Checked = false;
         for (int i = 0; i < this.checkedListBox2.Items.Count; i++)
         {
             this.checkedListBox2.SetItemChecked(i, false);                            
         }
     }
}

当checkBox1被选中时,我想在product.之前写#,如果checkBox1被取消选中,在product之前删除#。到目前为止,我尝试了很多变体,但没有正常工作。怎么做呢?

我知道已经存在一个类似的问题,但我已经尝试过了,但在我的情况下不起作用

如何写#前产品,如果我有复选框选中和删除,如果没有

像下面这样修改for循环并尝试

for (int i = 0; i < this.checkedListBox2.Items.Count; i++)
             {
                 this.checkedListBox2.SetItemChecked(i, true);   
                 checkedListBox2.Items[i]=checkedListBox2.Items[i].ToString().Replace("product","#product");
             }
    for (int i = 0; i < this.checkedListBox2.Items.Count; i++)
             {
                 this.checkedListBox2.SetItemChecked(i, false);       
    checkedListBox2.Items[i]=checkedListBox2.Items[i].ToString().Replace("#product","product");                     
             }