레이블이 #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)
​
n ListView 컨트롤은 가장 간단한 형태의 리스트를 나열하는 객체로 ListBox와 매우 비슷하다. ListView는 ListBox 컨트롤에서 직접 상속되고 기본적인 ListView는 실제로 다른 선택 모드를 가진 ListBox이다.
n 실습예제
[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...