【问题标题】:C# Take a value from ComboBox and replace a text in a fileC# 从 ComboBox 中获取一个值并替换文件中的文本
【发布时间】:2025-12-21 21:10:10
【问题描述】:

我在 Visual Studio 2019 (C#) 中,我想从组合框中获取一个值(文本)并将此文本替换为文件中现有的文本。

文本文件(fruit.ini):

Fruit=Hamburger

当我点击一个按钮时,我需要从组合框中选择值,读取文件并替换为新的。

最终结果:

Fruit=Banana

重要: 我需要从下拉菜单中选择值,我什至可以自己编写而不选择其他值。

【问题讨论】:

  • 到目前为止你得到了什么?
  • 没什么,我要学这个。我是新手。

标签: c# file input combobox


【解决方案1】:
  1. public YourFormName()粘贴:
if(File.Exists("fruit.ini") && File.ReadLines("fruit.ini") != null)
{
    foreach (string s in File.ReadAllLines("fruit.ini"))
    {
        yourCmbName.Items.Add(s.Remove(0, 6));
    }
}
  1. yourButtonName_Click()粘贴:
StreamWriter sw = File.AppendText("fruit.ini");
sw.WriteLine("Fruit=" + yourCmbName.Text);
sw.Close();
yourCmbName.Items.Clear();
foreach(string s in File.ReadAllLines("fruit.ini"))
{
    yourCmbName.Items.Add(s.Remove(0, 6));
}
  1. 添加using System.IO;
  2. 制造!!!

【讨论】:

  • 可以,但是有两个问题:1.文件(fruit.ini)的所有内容都被删除了,我想保留它并只更改这个字符串2.点击按钮后,出现重复选项。
  • 1.误会你了,我给你写2。不可能,你确信你用好代码@Miki13?
  • yourCmbName.Items.Add(s.Remove(0, 6));错误:System.ArgumentOutOfRangeException:'索引和计数必须引用字符串中的位置
  • 对不起,我的错误
  • 程序启动,但当我单击按钮更改水果时出现相同的错误... 未处理的异常 System.ArgumentOutOfRangeException:索引和计数必须引用字符串中的位置。参数名称:count @Kuba_Z2