C# Dersleri 61 - Treeview Kullanımı

     Geliştirdiğimiz uygulamalarda verilerin birbiriyle olan ilişkilerini göstermek istediğimizde Treeview, işimizi kolaylaştıran kontrollerden birisidir.

     Bu makalenin sonunda oluşturacağımız uygulama aşağıdaki ekran görüntüsündeki gibi olacak.

c# ile treeview kullanımı

     Treeview kontrolünü Toolbox'ta Common Controls altından formumuza ekleyebiliriz. Bir treeview'da node(dal)'lar ve bu node'lara bağlı subnode(alt dal)'lar olabilir.

     Bir Treeview'a Node Eklemek

     Treeview'a C# dilinde node eklemenin bir çok basit yolu var. Ancak bence en kolayı şu :

        private void btnAddNode_Click(object sender, EventArgs e)
        {
            string node = txtNode.Text;

            string text = node;
            string key = node; 

            trvMain.Nodes.Add(key, text);
        }

     

     Burada trvMain, treeview'ın adı. Form'a eklediğimiz buttonun click eventinde, kullanıcının textbox'a yazdığı değeri alıp treeview'a ekliyoruz. Kolaylık olsun diye key değerini de text değeriyle aynı atıyorum. Bu key değerine daha sonra ihtiyacımız olacak.

C# ile treeview'a node eklemek      

     Treeview'da Seçili Node'u Bulmak

     Projelerimizde treeview'ı kullanırken, genellikle kullanıcının istediği bir node'u seçip buna özel bir işlem yapmasına izin vermek isteriz. Seçili node'u yakalamak ise hayli kolay : 

        private void btnGetSelectedNode_Click(object sender, EventArgs e)
        {
            string selectedNode = trvMain.SelectedNode.Text;
            MessageBox.Show(selectedNode);
        }

     

     Treeview'da Seçili Node'a Subnode Eklemek 

        private void btnAddSubnode_Click(object sender, EventArgs e)
        {
            string subnode = txtSubnode.Text;
            string selectedNode = trvMain.SelectedNode.Name;

            string text = subnode;
            string key = subnode;

            trvMain.Nodes[selectedNode].Nodes.Add(key, text);
        }

     

     Eklenecek subnode'un yazısını kullanıcının textbox'a girdiği değerden alıyoruz. Yine kolaylık olsun diye key değerini de text ile aynı olacak şekilde atama yaptım. trvMain.SelectedNode.Name kod cümlesi sayesinde, seçili olan node'un key değerini almış olduk. Bu değeri selectedNode değişkenine attıktan sonra trvMain.Nodes[selectedNode].Nodes.Add kod cümlesi sayesinde seçilmiş node'un altına yeni bir subnode ekleyebiliyoruz.

c# ile treeview'a subnode eklemek 

     Treeview'a İkon Eklemek

     Bir treeview'a ikon eklemenin en kolay yolu ImageList kontrolünü kullanmaktır. Bu kontrolü Toolbox'taki Components sekmesinden formumuza ekleyebiliriz. Forma eklediğimiz ImageList kontrolüne tıkladığımızda üst tarafında üçgen şeklinde bir buton belirir. Bu butona tıkladıktan sonra "Choose Images" seçeneğiyle açılan pencereden ImageList'e resimler ekleyebiliriz.

c# treeview'a ikon eklemek

     Treeview'ın hangi ImageList nesnesini kullanacağını properties penceresindeki "ImageList" seçeneğinden atayabiliriz. Atama yaptıktan sonra bir node'a resmi eklemek ise çok kolay artık. İstediğimiz resmin ImageList'teki index'ini yani satır numarasını imageIndex olarak tanımlayabiliriz.

            string node = txtNode.Text;

            string text = node;
            string key = node;
            int imageIndex = 1;

            trvMain.Nodes.Add(key,text,imageIndex);

     

     Projeyi buradan indirebilirsiniz. 

YORUMLAR
Email Adresi *
Görüntülenecek İsim *
Yorum *
Paylaş
  • f