Не отображаются Node.Name на русском

Я делаю Nodesс названиями папок и файлов, и в их пути теоретически могут оказаться названия на русском, которые тоже должны отображаться. Но т.к. в Visual Studio Encoding.Default обозначен как ANSI, русский текст просто так не читается. Есть ли какая нибудь функция по типу File.ReadAllText(path, Encoding.UTF8), но считывающая именно название файла? Или то же самое, но для string переменных? Если такой функции нет, подскажите как по человечески реализовать отображение Node.Name на русском по другому

Вот мой код по созданию нод и их отображению

private void ListDirectory(TreeView treeView, string directoryName)
    {
        treeView.Nodes.Clear();
        var rootDirectoryInfo = new DirectoryInfo(directoryName);
        treeView.Nodes.Add(CreateDirectoryNode(rootDirectoryInfo, directoryName));
    }

    private static TreeNode CreateDirectoryNode(DirectoryInfo directoryInfo, string directoryName)
    {
        var directoryNode = new TreeNode(directoryInfo.Name);
        foreach (var directory in directoryInfo.GetDirectories())
        {
            directoryNode.Nodes.Add(CreateDirectoryNode(directory, directoryName));
            
        }
        foreach (var file in directoryInfo.GetFiles())
        {
            var filename = new TreeNode(file.Name);
            filename.Tag = directoryName + "\\" + file.Name;
            directoryNode.Nodes.Add(filename);
        }
        return directoryNode;
    }

    private void открытьПапкуToolStripMenuItem_Click(object sender, EventArgs e)
    {
        FolderBrowserDialog FBD = new FolderBrowserDialog();
        FBD.ShowNewFolderButton = true;
        if (FBD.ShowDialog() == DialogResult.OK)
        {
            treeView.Nodes.Clear();
            var DI = new DirectoryInfo(FBD.SelectedPath);
            ListDirectory(treeView, FBD.SelectedPath);
            treeView.AfterSelect += TreeView_AfterSelect;
        }

    }

    private void TreeView_AfterSelect(object sender, TreeViewEventArgs e)
    {
        string file = (string)e.Node.Tag;
        if (File.Exists(file))
        {
            string filetext = File.ReadAllText(file);
            textBox.Text = filetext;
        }
    }

Ответы (0 шт):