从下拉列表中的选定文件中读取文本到 richtextbox

Read text from selected file in dropdown to richtextbox

我正在尝试制作一个快速工具来编辑监视器配置,即确认监视器是否关闭。这些文件是 .yml 文件,但内容是明文 具体来说,该行内容为:docMeta.DownAcknowledge: False

我想要一个工具,能够根据情况将此行更改为 True 或 False。

configDropDown.Items.Clear();
string[] files = Directory.GetFiles(@"d:\monitors.d\");
foreach (string file in files)
configDropDown.Items.Add(Path.GetFileNameWithoutExtension(file));

这会按应有的方式填充我的下拉框,但是,我不知道如何将 selected 文件的内容放入我的 richtextbox。

在configDropDown_SelectedIndexChanged

我有以下内容:

// get the value (file path)
string fileName = (string)configDropDown.SelectedItem;
string filePath = Path.Combine(@"d:\monitors.d\", fileName + ".yml");

if (File.Exists(filePath))
    configReader.AppendText(File.ReadAllText(filePath));
else
    configReader.Clear();

但是当我从我的下拉列表中 select 时没有任何反应。 最初我只是想拉 docMeta.DownAcknowledge: 行,但无法让它工作,所以尝试只读取整个文件。

如果你能告诉我如何将 docMeta.DownAcknowledge: 行编辑为 True/False 并保存它,那将是我的下一个障碍。

非常感谢您。

您的代码似乎工作正常。我怀疑问题是您的 SelectedIndexChanged 事件没有连接。

如果您打开 [FormName].Designer.cs 文件并查看生成的代码。您能否看到 configDropDown 控件的以下行:

this.configDropDown.SelectedIndexChanged += new System.EventHandler(this.configDropDown_SelectedIndexChanged);

如果没有,您可以使用上面的代码添加它。