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

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 리스트뷰(ListView)

WPF 리스트뷰(ListView)
ListView 컨트롤은 가장 간단한 형태의 리스트를 나열하는 객체로 ListBox와 매우 비슷하다. ListView는 ListBox 컨트롤에서 직접 상속되고 기본적인 ListView는 실제로 다른 선택 모드를 가진 ListBox이다.
실습예제
[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">
<Grid>
<ListView Margin="10" Name="lvUsers">
<ListView.View>
<GridView>
<GridViewColumn Header="Name" Width="120" DisplayMemberBinding="{Binding Name}" />
<GridViewColumn Header="Age" Width="50" DisplayMemberBinding="{Binding Age}" />
<GridViewColumn Header="Mail" Width="150" DisplayMemberBinding="{Binding Mail}" />
</GridView>
</ListView.View>
</ListView>
</Grid>
</Window>
[MainWindow.xaml.cs]
using System;
using System.Collections.Generic;
using System.Windows;
namespace WpfApplication5
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
List<User> items = new List<User>();
items.Add(new User() { Name = "홍길동", Age = 42, Mail = "h@a.co.kr" });
items.Add(new User() { Name = "박길동", Age = 39, Mail = "p@a.co.kr" });
items.Add(new User() { Name = "정길동", Age = 7, Mail = "j@a.co.kr" });
lvUsers.ItemsSource = items;
}
}
public class User
{
public string Name { get; set; }
public int Age { get; set; }
public string Mail { get; set; }
}
}

(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...