트레이닝 센터

탐색 및 레이아웃

C1TileControl로 Window10스타일 시뮬레이션의 문서파일브라우징 응용

Window 10 양식의 시뮬레이션 레이아웃을 사용할 때, C1TileControl은 여러 가지 옵션을 제공하고 선택한 내용에 따라 대응형 인터페이스 배열을 완성합니다. 이렇게 하면 그룹에 따라 아이콘을 자동적으로 바둑판 배열을 하고 임의의 크기로 설정할 수 있습니다. 또한 인터페이스를 일시 정지, 중첩 또는 내포를 할 수도 있고 텍스트 요소 및 애니메이션도 설정 가능합니다.

본문에서는 C1TilleControld을 어떻게 사용하여 Window10 스타일을 가지는 문서파일 브라우징 응용프로그램을 만드는지 소개합니다.


1. 그룹을 바둑판 형식으로 배치

TileControl.Groups.Add를 통해 TileControl을 위한 각각 다른 그룹을 추가할 수 있습니다. Tile 바둑판 패치는 각기 다른 그룹 속에 두어 그룹 형식으로 표시합니다. 본문 Demo에서 각각 다른 유형의 그룹을 만듭니다. 코드는 다음과 같습니다. :

Group GetDriveGroup(DriveType driveType)
        {
            string groupName = driveType.ToString();
            foreach (Group group in itemTiles.Groups)
            {
                if (group.Name == groupName)
                {
                    return group;
                }
            }
            Group newGroup = new Group();
            switch (driveType)
            {
                case DriveType.CDRom:
                    newGroup.Text = "CD/DVD";
                    break;
                case DriveType.Fixed:
                    newGroup.Text = " 로컬 드라이브 ";
                    break;
                case DriveType.Network:
                    newGroup.Text = " 네트워크 드라이브 ";
                    break;
                case DriveType.Ram:
                    newGroup.Text = " 램 디스크 ";
                    break;
                case DriveType.Removable:
                    newGroup.Text = " 삭제된 드라이브 ";
                    break;
                default:
                    newGroup.Text = " Misc ";
                    break;
            }
            itemTiles.Groups.Add(newGroup);
            newGroup.Name = groupName;
            return newGroup;
        }

2. 패치 만들기

첫 번째 방법에서 TileControl은 이미 그룹 나누기에 추가되었습니다. 여기에서 패치 만들기를 통해 각기 다른 Tile 패치를 상응하는 그룹에 넣어야 합니다. 수직이나 수평으로 중첩되도록 선택할 수 있습니다. 그리고 Tile.Image 속성을 통해 그림을 추가합니다. 구체적인 코드는 다음과 같습니다. :

                    DriveType dt = drive.DriveType;
                    Group group = GetDriveGroup(dt);

                    Tile tile = new Tile();
                    switch (dt)
                    {
                        case DriveType.CDRom:
                            tile.Image = Title_FileExplorer.Properties.Resources.mediaDrive;
                            break;
                        case DriveType.Fixed:
                            tile.Image = Title_FileExplorer.Properties.Resources.hardDrive;
                            break;
                        case DriveType.Network:
                            tile.Image = Title_FileExplorer.Properties.Resources.networkDrive;
                            break;
                        default:
                            tile.Image = Title_FileExplorer.Properties.Resources.otherDrive;
                            break;
                    }
                    tile.HorizontalSize = 3;
                    group.Tiles.Add(tile);

3. 패치 템플릿 만들기

근본적으로 각 바둑판 패치를 개별적으로 설계할 필요가 없습니다. 하나 또는 여러 개의 바둑판 템플릿을 만들고 이 템플릿들을 fileGroup.Tiles.Add를 통해 Tile에 추가합니다. 마지막으로 이 템플릿들과 패치를 Tile.Template속성을 통해 서로 연결되도록 합니다. 패치는 템플릿에 문자열, 색상 및 그림 같은 데이터를 제공할 수 있습니다. 템플릿과 여러 개의 바둑판 패치는 서로 연결됩니다. 또는 각각의 바둑판 패치는 템플릿을 따릅니다. 구체적인 연결코드는 다음과 같습니다. :

마지막으로 본문 마지막의Demo를 사용하여 C1TilleControl로 아래 그림과 같이 Window8 스타일을 가지는 문서파일 브라우징 응용프로그램을 만듭니다. :

private C1.Win.C1Tile.Template tempDrive = new C1.Win.C1Tile.Template();
private C1.Win.C1Tile.C1TileControl itemTiles = new C1.Win.C1Tile.C1TileControl();
this.itemTiles.Templates.Add(this.tempDrive);
this.itemTiles.BackColor = System.Drawing.Color.Gainsboro;
this.itemTiles.CellHeight = 70;
this.itemTiles.CellWidth = 70;
Tile tile = new Tile();
folderGroup.Tiles.Add(tile);
tile.Template = tempFolder;


샘플 다운로드



한국 그레이프시티 공식카페에서 기술지원을 받으실 수 있습니다.
이메일을 통해서도 기술지원을 받으실 수 있습니다.