레이블이 #treeview인 게시물을 표시합니다. 모든 게시물 표시
레이블이 #treeview인 게시물을 표시합니다. 모든 게시물 표시

2021년 11월 6일 토요일

C# 윈폼(TreeView, ListView)

 C# 윈폼(TreeView, ListView)


1. Form의 속성(F4)중 Text속성을 “TreeView&ListView TEST”, Name속성을 “FrmMain”으로…


2. 아래와 같이 버튼 컨트롤을 배치하자.(툴 박스가 안 보인다면 View > Toolbox를 클릭)


    - GroupBox(Text: TreeView & ListView)

    - TreeView(Name : trv1), ListView(Name : lstv1, View : Details), 

    - Button(Name : addRoot, Text : 루트추가), Button(Name : addChild, Text : 자식추가)


auK4qPVbPpAD4gCemzcBTKYStjB_5u0w6_0q6Cl8



3. Form1.cs 파일을 코드 편집기로 열어 아래 내용을 추가하자.

    public partial class FrmMain : Form

    {

        Random r = new Random(37);

        public FrmMain()

        {

            InitializeComponent();

        }

    }


4. FrmMain의 생성자에 아래 코드를 추가하자.


        public FrmMain()

        {

            InitializeComponent();

            lstv1.Columns.Add("Name");

            lstv1.Columns.Add("Depth");

        }


5. Form1.cs 파일을 코드 편집기로 열어 아래 내용을 추가하자.


        void TreeToList()

        {

            lstv1.Items.Clear();

            foreach (TreeNode node in trv1.Nodes)

            {

                TreeToList(node);

            }

        }


        void TreeToList(TreeNode node)

        {

            //TreeNode 형식의 FullPath 속성은 루트노드에서 현재노드까지의 경로를 나타내며

            //각 경로는 \로 구분한다.

            lstv1.Items.Add(

                new ListViewItem(

                     new string[] { node.Text,

                                    node.FullPath.Count(f => f == '\\').ToString() }));

            foreach (TreeNode n in node.Nodes)

            {

                TreeToList(n);

            }

        }


6. 이번에는 버튼 클릭 이벤트 처리용 메소드를 만들자.


        private void addRoot_Click(object sender, EventArgs e)

        {

            trv1.Nodes.Add(r.Next().ToString());

            TreeToList();

        }

        private void addChild_Click(object sender, EventArgs e)

        {

            if (trv1.SelectedNode == null)

            {

                MessageBox.Show("선태된 노드 없음.", "트리뷰테스트",

                                MessageBoxButtons.OK, MessageBoxIcon.Error);

                return;

            }

            trv1.SelectedNode.Nodes.Add(r.Next().ToString());

            trv1.SelectedNode.Expand();

            TreeToList();

        }


-JLeNI-9qCzOBLZtCYh6fnUL-KAFxSbPGHPBjhaR

 

 

2019년 1월 26일 토요일

WPF 트리뷰(TreeView)

WPF 트리뷰(TreeView)
트리뷰(TreeView)는 계층적인 데이터를 표시할 수 있는 컨트롤인데 윈도우 탐색기의 왼쪽창에서 디스크 내용과 디렉토리들을 보여주는 것을 생각하면 된다.
WPF에서 TreeView 객체의 각 항목은 TreeViewItem 타입의 객체이며 컬렉션에 포함된 TreeViewItem 객체는 보통 짧은 텍스트로 이루어 지며 이러한 방식은 MenuView와 유사하다.
[실습] XAML을 이용한 트리뷰 실습
[MainWindow.xaml.xml]
<Window x:Class="WpfApplication5.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApplication5"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<TreeView>
<TreeViewItem Header="Employee1">
<TreeViewItem Header="Jesper"/>
<TreeViewItem Header="Aaberg"/>
<TreeViewItem Header="12345"/>
</TreeViewItem>
<TreeViewItem Header="Employee2">
<TreeViewItem Header="Dominik"/>
<TreeViewItem Header="Paiha"/>
<TreeViewItem Header="98765"/>
</TreeViewItem>
</TreeView>
</Window>

(C#교육동영상)C# ADO.NET 실습 ODP.NET/ODAC 설치 오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원

  (C#교육동영상)C# ADO.NET 실습  ODP.NET/ODAC 설치  오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원 https://www.youtube.com/watch?v=qIPU85yAlzc&list=PLxU-i...