从下拉列表中的选定文件中读取文本到richtextbox
Posted
技术标签:
【中文标题】从下拉列表中的选定文件中读取文本到richtextbox【英文标题】:Read text from selected file in dropdown to richtextbox 【发布时间】:2021-09-02 03:08:58 【问题描述】:我正在尝试制作一个快速工具来编辑监视器配置,即确认监视器是否关闭。文件是 .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));
这会按原样填充我的下拉框,但是,我不知道如何将所选文件的内容放入我的 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();
但是当我从下拉列表中选择某些内容时,什么也没有发生。 最初我只是想拉 docMeta.DownAcknowledge: 行,但无法让它工作,所以尝试只读取整个文件。
如果您能告诉我如何将 docMeta.DownAcknowledge: 行编辑为 True/False 并保存它,那将是我的下一个障碍。
非常感谢您。
【问题讨论】:
【参考方案1】:您的代码似乎工作正常。我怀疑问题在于您的 SelectedIndexChanged 事件未连接。
如果您打开 [FormName].Designer.cs 文件并查看生成的代码。您能看到您的 configDropDown 控件的以下行吗:
this.configDropDown.SelectedIndexChanged += new System.EventHandler(this.configDropDown_SelectedIndexChanged);
如果不存在,您可以使用上面的代码添加它。
【讨论】:
以上是关于从下拉列表中的选定文件中读取文本到richtextbox的主要内容,如果未能解决你的问题,请参考以下文章