Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [C#]Icone nel treeview

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    180

    [C#]Icone nel treeview

    Ciao a tutti. Ho impostato delle icone nei nodi radice del treeview, solo che queste icone si ripetono per tutti i nodi figli. Come posso fare per disattivare le icone per i figli?

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    180
    Forse il problema riguarda il fatto che l'icona numero 0 della imagelist risulta come predefinita?

  3. #3
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    No, il problema sta che se non mostri il codice che usi per impostare le icone che risposta possiamo darti?


  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    180
    Ok, comunque da codice non ho toccato niente. Ho semplicemente creato una imagelist, caricato le immagini e selezionato per i nodi radice le immagini appropriate dal menu "modifica nodi" tramite il controllo ImageIndex e SelectedImageIndex.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    180
    Questa è la screen.



    Quando seleziono il treeview, modifico la proprietà ImageList inserendo l'ImageList che ho creato io, visual studio automaticamente assegna a tutti i nodi esistenti l'immagine che sta nella posizione zero dell'ImageList. Questo è il codice Designer


    codice:
            #region Codice generato da Progettazione Windows Form
    
            /// <summary>
            /// Metodo necessario per il supporto della finestra di progettazione. Non modificare
            /// il contenuto del metodo con l'editor di codice.
            /// </summary>
            public void InitializeComponent()
            {
                this.components = new System.ComponentModel.Container();
                System.Windows.Forms.ImageList imageList1;
                System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
                System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("Nodo6");
                System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("Nodo11");
                System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("Nodo7", new System.Windows.Forms.TreeNode[] {
                treeNode2});
                System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("Nodo8");
                System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("Nodo0", new System.Windows.Forms.TreeNode[] {
                treeNode1,
                treeNode3,
                treeNode4});
                System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("Nodo9");
                System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("Nodo16");
                System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("Nodo10", new System.Windows.Forms.TreeNode[] {
                treeNode7});
                System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("Nodo1", new System.Windows.Forms.TreeNode[] {
                treeNode6,
                treeNode8});
                System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("Nodo2");
                System.Windows.Forms.TreeNode treeNode11 = new System.Windows.Forms.TreeNode("Nodo12");
                System.Windows.Forms.TreeNode treeNode12 = new System.Windows.Forms.TreeNode("Nodo15");
                System.Windows.Forms.TreeNode treeNode13 = new System.Windows.Forms.TreeNode("Nodo13", new System.Windows.Forms.TreeNode[] {
                treeNode12});
                System.Windows.Forms.TreeNode treeNode14 = new System.Windows.Forms.TreeNode("Nodo3", new System.Windows.Forms.TreeNode[] {
                treeNode11,
                treeNode13});
                System.Windows.Forms.TreeNode treeNode15 = new System.Windows.Forms.TreeNode("Nodo14");
                System.Windows.Forms.TreeNode treeNode16 = new System.Windows.Forms.TreeNode("Nodo4", new System.Windows.Forms.TreeNode[] {
                treeNode15});
                this.treeView1 = new System.Windows.Forms.TreeView();
                imageList1 = new System.Windows.Forms.ImageList(this.components);
                this.SuspendLayout();
                // 
                // imageList1
                // 
                imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
                imageList1.TransparentColor = System.Drawing.Color.Transparent;
                imageList1.Images.SetKeyName(0, "120px-Flag_of_Bangladesh.svg.png");
                imageList1.Images.SetKeyName(1, "120px-Flag_of_the_Bahamas.svg.png");
                imageList1.Images.SetKeyName(2, "120px-Flag_of_Algeria.svg.png");
                imageList1.Images.SetKeyName(3, "120px-Flag_of_Austria.svg.png");
                // 
                // treeView1
                // 
                this.treeView1.ImageIndex = 0;
                this.treeView1.ImageList = imageList1;
                this.treeView1.Location = new System.Drawing.Point(105, 59);
                this.treeView1.Name = "treeView1";
                treeNode1.Name = "Nodo6";
                treeNode1.Text = "Nodo6";
                treeNode2.Name = "Nodo11";
                treeNode2.Text = "Nodo11";
                treeNode3.Name = "Nodo7";
                treeNode3.Text = "Nodo7";
                treeNode4.Name = "Nodo8";
                treeNode4.Text = "Nodo8";
                treeNode5.Name = "Nodo0";
                treeNode5.Text = "Nodo0";
                treeNode6.Name = "Nodo9";
                treeNode6.Text = "Nodo9";
                treeNode7.Name = "Nodo16";
                treeNode7.Text = "Nodo16";
                treeNode8.ImageKey = "120px-Flag_of_Bangladesh.svg.png";
                treeNode8.Name = "Nodo10";
                treeNode8.SelectedImageIndex = 0;
                treeNode8.Text = "Nodo10";
                treeNode9.ImageIndex = 1;
                treeNode9.Name = "Nodo1";
                treeNode9.Text = "Nodo1";
                treeNode10.ImageKey = "120px-Flag_of_Algeria.svg.png";
                treeNode10.Name = "Nodo2";
                treeNode10.Text = "Nodo2";
                treeNode11.Name = "Nodo12";
                treeNode11.Text = "Nodo12";
                treeNode12.Name = "Nodo15";
                treeNode12.Text = "Nodo15";
                treeNode13.Name = "Nodo13";
                treeNode13.Text = "Nodo13";
                treeNode14.ImageKey = "120px-Flag_of_Austria.svg.png";
                treeNode14.Name = "Nodo3";
                treeNode14.Text = "Nodo3";
                treeNode15.Name = "Nodo14";
                treeNode15.Text = "Nodo14";
                treeNode16.Name = "Nodo4";
                treeNode16.Text = "Nodo4";
                this.treeView1.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
                treeNode5,
                treeNode9,
                treeNode10,
                treeNode14,
                treeNode16});
                this.treeView1.SelectedImageIndex = 0;
                this.treeView1.Size = new System.Drawing.Size(345, 198);
                this.treeView1.TabIndex = 0;
                // 
                // Form1
                // 
                this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
                this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
                this.ClientSize = new System.Drawing.Size(528, 371);
                this.Controls.Add(this.treeView1);
                this.Name = "Form1";
                this.Text = "Form1";
                this.ResumeLayout(false);
    
            }

  6. #6
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da deb463is
    Ok, comunque da codice non ho toccato niente. Ho semplicemente creato una imagelist, caricato le immagini e selezionato per i nodi radice le immagini appropriate dal menu "modifica nodi" tramite il controllo ImageIndex e SelectedImageIndex.
    Originariamente inviato da deb463is
    Come posso fare per disattivare le icone per i figli?
    Se metti come prima immagine (0) un'immagine vuota, ovvero un'icona con sfondo completamente trasparente, sarà selezionata automaticamente per ogni nodo.
    Poi imposti quelle per i nodi radice.


  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    180
    Ci avevo pensato, però forse resta lo spazio trasparente tra il nome del nodo, e la linea dell'albero! Un po' bruttino!

    Edit. Ho provato ed è proprio così! Resta uno spazio innaturale.

  8. #8
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da deb463is
    Ci avevo pensato, però forse resta lo spazio trasparente tra il nome del nodo, e la linea dell'albero! Un po' bruttino!

    Edit. Ho provato ed è proprio così! Resta uno spazio innaturale.
    Lo so, purtroppo è così.
    La sola alternativa è creare un icona 16x16 con i puntini grigi 'simulando' così la continuazione di quelli esistenti.

    Vedi l'immagine...

    Immagini allegate Immagini allegate

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    180
    Originariamente inviato da gibra
    Lo so, purtroppo è così.
    La sola alternativa è creare un icona 16x16 con i puntini grigi 'simulando' così la continuazione di quelli esistenti.

    Vedi l'immagine...

    Ahuauhahu!! GENIALE!! Grazie mille, mi sa che farò così.. Però mi sembra davvero strano che un così complesso programma come il visual studio, non dia la possibilità di fare una cosa così semplice!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.