21 Mayıs 2013 Salı

C Sharp Uygulamalar Treeview Nesnesinin Kullanımı



KONU : C Sharp ( C# ) Form Uygulamalar Treeview Nesnesinin Kullanımı. Treeview da node lara tıklama olayı. Afterselect olayının kullanımı ile ilgili örnekler. Alt alta node ekleme, Eklenen nodeların ikonlarını değiştirme, C Sharp Treeview farklı seviyeler için farklı ikon kullanımı, c sharp treeview nesnesine ikon bağlama ve ikon seçme.





UYGULAMAYI İNDİR



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace TreeView
{
    public partial class Form1 : Form
    {

        private System.Windows.Forms.TreeView treeView;
        private System.Windows.Forms.Label lblHangiNodeTiklandi;

        public Form1()
        {
            InitializeComponent();
            InitializeMyComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //treeview ya bir ikon ekleme, burada iki farklı ikon ekle
            //birincisini en üst nodelar için kullan
            //diğer ikonu sadece en alt nodelar için kullan

            ImageList il = new ImageList();
            il.Images.Add(new Icon("folder.ico"));
            il.Images.Add(new Icon("Turkiye.ico"));
            treeView.ImageList = il;

            //treeview için bir node oluştur .Bu ana node olacak  adıda  "System Database" olsun
            
            TreeNode node = new TreeNode("System Database");
            
            ////Ana node altına 4 tane node ekleyelim

            node.Nodes.Add("Attributes");
            node.Nodes.Add("Positions");
            node.Nodes.Add("Radio Trunks");
            node.Nodes.Add("Line Trunks");

            // 2. alt nodun altına da yeni node lar  ekleyelim
           
            for (int i = 0; i < 2; i++)
            {
                node.Nodes[1].Nodes.Add("POS " + (i + 1));
               
                // Bu node un resmini değiştir => türkiye.ico olarak güncelleyelim
                // bunun için bu node un alt node larınının imageindex ini 1 yapmamız yeterli olacak

                node.Nodes[1].Nodes[i].ImageIndex = 1;
            }
            

            // 3. alt nodun altına da yeni node lar  ekleyelim

            for (int i = 0; i < 8; i++)
            {
                node.Nodes[2].Nodes.Add("RADIO" + (i + 1));

                // Bu node un resmini değiştir => türkiye.ico olarak güncelleyelim.

                node.Nodes[2].Nodes[i].ImageIndex = 1;
            }

            // 4. alt nodun altına da yeni node lar  ekleyelim

            for (int i = 0; i < 4; i++)
            {
                node.Nodes[3].Nodes.Add("LINE" + (i + 1));

                // Bu node un da resmini değiştirelim. 
                
                node.Nodes[3].Nodes[i].ImageIndex = 1;
            }

            //ana node u treeview a eklenince ağaç görünümümüz oluştu

            treeView.Nodes.Add(node);
 
        }

        /// treeview da bir eleman seçilmiş veya tıklanmış ise  bu metot tetiklenecek
        /// bu işlemi InitializeMyComponent metodunda treview nesnesinin afterselect olayına
        /// bu metodu bağlayarak gerçeklerştirdim.
        
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            //treeview da bir node tıklanınca o node ile ilgili istediğimi  işlemi yaptıralım

            //Eğer seçili bir node yoksa hiçbir şey yapmadan geri dönsün

            if (treeView.SelectedNode == null)
            {
                return;
            }


            //form yerleştirdiğim etikete tıklanan nodun text değerini yazdıracağım

            lblHangiNodeTiklandi.Text = "Tıklanan Node :" + treeView.SelectedNode.Text;

            //Seçilen veya tıklanan node ile ilgili işlemleri aşağıdaki gibi yapabilirim

            if (treeView.SelectedNode.Text == "System Database")
            {
                MessageBox.Show("burada Ana node " + treeView.SelectedNode.Text + 
                    " ile ilgili işlmeler yaptırılır");
            }
            else if (treeView.SelectedNode.Text == "Positions")
            {
                MessageBox.Show("burada Alt node " + treeView.SelectedNode.Text +
                    " ile ilgili işlmeler yaptırılır");
            }
            else if (treeView.SelectedNode.Text == "Radio Trunks")
            {
                MessageBox.Show("burada Alt node " + treeView.SelectedNode.Text +
                    " ile ilgili işlmeler yaptırılır");
            }
            else if (treeView.SelectedNode.Text == "Line Trunks")
            {
                MessageBox.Show("burada Alt node " + treeView.SelectedNode.Text + 
                    " ile ilgili işlmeler yaptırılır");
            }
        }

        /// 
        /// programda kullanılacak kontrollerin ayarlarını yapma.
        /// 
        private void InitializeMyComponent()
        {
            this.treeView = new System.Windows.Forms.TreeView();
            this.lblHangiNodeTiklandi = new System.Windows.Forms.Label();
            this.SuspendLayout();
            // 
            // treeView
            // 
            this.treeView.Location = new System.Drawing.Point(12, 12);
            this.treeView.Name = "treeView";
            this.treeView.Size = new System.Drawing.Size(161, 349);
            this.treeView.TabIndex = 0;
            this.treeView.AfterSelect += new 
                System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect);
            // 
            // lblHangiNodeTiklandi
            // 
            this.lblHangiNodeTiklandi.AutoSize = true;
            this.lblHangiNodeTiklandi.Location = new System.Drawing.Point(244, 24);
            this.lblHangiNodeTiklandi.Name = "lblHangiNodeTiklandi";
            this.lblHangiNodeTiklandi.Size = new System.Drawing.Size(35, 13);
            this.lblHangiNodeTiklandi.TabIndex = 1;
            this.lblHangiNodeTiklandi.Text = "label1";
            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(398, 490);
            this.Controls.Add(this.lblHangiNodeTiklandi);
            this.Controls.Add(this.treeView);
            this.Name = "Form1";
            this.Text = "Treview Application";
            this.Load += new System.EventHandler(this.Form1_Load);
            this.ResumeLayout(false);
            this.PerformLayout();

        }
    }
}


UYGULAMAYI İNDİR

Hiç yorum yok :

Yorum Gönder