Как избежать, чтобы winforms treeview значок изменились когда выбранный объект

Я экспериментирую с treeview в небольшом приложении C#/Winforms. Я программно присвоил ImageList treeview, и все узлы показывают свои значки очень хорошо, но когда я нажимаю узел, его изменения значка (к самому первому изображению в ImageList). Как я могу заставить значок оставаться неизменным?

BTW: "SelectedImageIndex" не установлен на" (ни один)", так как я действительно не знаю, что установить его на, так как индекс изображения отличается для узлов (я предполагаю?).

ОБНОВЛЕНИЕ: Вот код приложения (я использую Visual Studio Express 2008):

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            treeView1.BeginUpdate();
            treeView1.Nodes.Clear();
            treeView1.Nodes.Add("root","Project", 0);  

            treeView1.Nodes[0].Nodes.Add("Foo", "Foo", 2);
            treeView1.Nodes[0].Nodes[0].Nodes.Add("Fizz", "Fizz", 3);
            treeView1.Nodes[0].Nodes[0].Nodes.Add("Buzz", "Buzz", 3);

            treeView1.Nodes[0].Nodes.Add("Bar", "Bar", 1);
            treeView1.Nodes[0].Nodes[1].Nodes.Add("Fizz", "Fizz", 2);
            treeView1.Nodes[0].Nodes[1].Nodes[0].Nodes.Add("Buzz", "Buzz", 3);

            treeView1.EndUpdate();
            treeView1.ImageList = imageList1;
        }
    }
}
32
задан S.C. Madsen 5 August 2010 в 14:00
поделиться

1 ответ

Просто установите SelectedImageIndex для каждого узла на то же значение, что и ImageIndex. Итак, если вы создаете узел программно:

        TreeNode node = new TreeNode("My Node");
        node.ImageIndex = 1;
        node.SelectedImageIndex = 1;

Или вы можете указать весь участок в конструкторе:

        TreeNode node = new TreeNode("My Node" ,1, 1);

Вы можете сделать то же самое, используя редактор времени разработки, если вы добавляете узлы во время разработки. Вам просто нужно установить SelectedImageIndex на уровне узла, а не на уровне TreeView.

51
ответ дан 27 November 2019 в 20:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: