Loading...
Loading...
Compare original and translation side by side
TileLayout (Container)
└── LayoutGroup(s) (Groups)
└── ImageStreamer(s) (Individual Tiles)TileLayout (容器)
└── LayoutGroup(s) (分组)
└── ImageStreamer(s) (单个磁贴)using Syncfusion.Windows.Forms.Tools;
using System;
using System.Drawing;
using System.Windows.Forms;
public class TileLayoutExample : Form
{
private TileLayout tileLayout1;
private LayoutGroup layoutGroup1;
private LayoutGroup layoutGroup2;
private ImageStreamer imageStreamer1;
private ImageStreamer imageStreamer2;
public TileLayoutExample()
{
// Create TileLayout
tileLayout1 = new TileLayout();
tileLayout1.Dock = DockStyle.Fill;
tileLayout1.ShowGroupTitle = true;
// Create first LayoutGroup
layoutGroup1 = new LayoutGroup();
layoutGroup1.Text = "Photos";
layoutGroup1.BackColor = ColorTranslator.FromHtml("#fa8c6f5");
// Create second LayoutGroup
layoutGroup2 = new LayoutGroup();
layoutGroup2.Text = "Documents";
layoutGroup2.BackColor = ColorTranslator.FromHtml("#fa8c6f5");
// Create ImageStreamer tiles with images
imageStreamer1 = new ImageStreamer();
imageStreamer1.SlideShow = true;
imageStreamer1.SliderSpeed = 100;
imageStreamer1.Images.Add(Image.FromFile("image1.jpg"));
imageStreamer1.Images.Add(Image.FromFile("image2.jpg"));
imageStreamer2 = new ImageStreamer();
imageStreamer2.InternalBackColor = Color.LightBlue;
imageStreamer2.Images.Add(Image.FromFile("doc1.png"));
// Add ImageStreamers to LayoutGroups
layoutGroup1.Controls.Add(imageStreamer1);
layoutGroup2.Controls.Add(imageStreamer2);
// Add LayoutGroups to TileLayout
tileLayout1.Controls.Add(layoutGroup1);
tileLayout1.Controls.Add(layoutGroup2);
// Add TileLayout to form
this.Controls.Add(tileLayout1);
this.Size = new Size(800, 600);
this.Text = "TileLayout Example";
}
}using Syncfusion.Windows.Forms.Tools;
using System;
using System.Drawing;
using System.Windows.Forms;
public class TileLayoutExample : Form
{
private TileLayout tileLayout1;
private LayoutGroup layoutGroup1;
private LayoutGroup layoutGroup2;
private ImageStreamer imageStreamer1;
private ImageStreamer imageStreamer2;
public TileLayoutExample()
{
// Create TileLayout
tileLayout1 = new TileLayout();
tileLayout1.Dock = DockStyle.Fill;
tileLayout1.ShowGroupTitle = true;
// Create first LayoutGroup
layoutGroup1 = new LayoutGroup();
layoutGroup1.Text = "Photos";
layoutGroup1.BackColor = ColorTranslator.FromHtml("#fa8c6f5");
// Create second LayoutGroup
layoutGroup2 = new LayoutGroup();
layoutGroup2.Text = "Documents";
layoutGroup2.BackColor = ColorTranslator.FromHtml("#fa8c6f5");
// Create ImageStreamer tiles with images
imageStreamer1 = new ImageStreamer();
imageStreamer1.SlideShow = true;
imageStreamer1.SliderSpeed = 100;
imageStreamer1.Images.Add(Image.FromFile("image1.jpg"));
imageStreamer1.Images.Add(Image.FromFile("image2.jpg"));
imageStreamer2 = new ImageStreamer();
imageStreamer2.InternalBackColor = Color.LightBlue;
imageStreamer2.Images.Add(Image.FromFile("doc1.png"));
// Add ImageStreamers to LayoutGroups
layoutGroup1.Controls.Add(imageStreamer1);
layoutGroup2.Controls.Add(imageStreamer2);
// Add LayoutGroups to TileLayout
tileLayout1.Controls.Add(layoutGroup1);
tileLayout1.Controls.Add(layoutGroup2);
// Add TileLayout to form
this.Controls.Add(tileLayout1);
this.Size = new Size(800, 600);
this.Text = "TileLayout Example";
}
}// Create main TileLayout
var tileLayout = new TileLayout();
tileLayout.Dock = DockStyle.Fill;
tileLayout.ShowGroupTitle = true;
tileLayout.MainLayout.TopMargin = 20;
tileLayout.MainLayout.HorzNearMargin = 20;
// Create groups for different categories
var socialGroup = new LayoutGroup { Text = "Social" };
var newsGroup = new LayoutGroup { Text = "News" };
var mediaGroup = new LayoutGroup { Text = "Media" };
// Add multiple tiles to each group
for (int i = 0; i < 4; i++)
{
var tile = new ImageStreamer();
tile.Images.Add(GetImage($"social{i}.png"));
tile.SlideShow = true;
socialGroup.Controls.Add(tile);
}
tileLayout.Controls.Add(socialGroup);
tileLayout.Controls.Add(newsGroup);
tileLayout.Controls.Add(mediaGroup);// Create main TileLayout
var tileLayout = new TileLayout();
tileLayout.Dock = DockStyle.Fill;
tileLayout.ShowGroupTitle = true;
tileLayout.MainLayout.TopMargin = 20;
tileLayout.MainLayout.HorzNearMargin = 20;
// Create groups for different categories
var socialGroup = new LayoutGroup { Text = "Social" };
var newsGroup = new LayoutGroup { Text = "News" };
var mediaGroup = new LayoutGroup { Text = "Media" };
// Add multiple tiles to each group
for (int i = 0; i < 4; i++)
{
var tile = new ImageStreamer();
tile.Images.Add(GetImage($"social{i}.png"));
tile.SlideShow = true;
socialGroup.Controls.Add(tile);
}
tileLayout.Controls.Add(socialGroup);
tileLayout.Controls.Add(newsGroup);
tileLayout.Controls.Add(mediaGroup);// Create live tile with multiple images
var liveTile = new ImageStreamer();
liveTile.SlideShow = true;
liveTile.SliderSpeed = 150; // Slower animation
liveTile.ShowNavigator = true; // Show navigation arrows
liveTile.ImageStreamDirection = ImageStreamer.StreamDirection.BottomToTop;
// Add multiple images for rotation
liveTile.Images.Add(Image.FromFile("slide1.png"));
liveTile.Images.Add(Image.FromFile("slide2.png"));
liveTile.Images.Add(Image.FromFile("slide3.png"));
liveTile.InternalBackColor = Color.FromArgb(0, 120, 215); // Modern blue
layoutGroup.Controls.Add(liveTile);// Create live tile with multiple images
var liveTile = new ImageStreamer();
liveTile.SlideShow = true;
liveTile.SliderSpeed = 150; // Slower animation
liveTile.ShowNavigator = true; // Show navigation arrows
liveTile.ImageStreamDirection = ImageStreamer.StreamDirection.BottomToTop;
// Add multiple images for rotation
liveTile.Images.Add(Image.FromFile("slide1.png"));
liveTile.Images.Add(Image.FromFile("slide2.png"));
liveTile.Images.Add(Image.FromFile("slide3.png"));
liveTile.InternalBackColor = Color.FromArgb(0, 120, 215); // Modern blue
layoutGroup.Controls.Add(liveTile);// Configure MainLayout for custom positioning
tileLayout.MainLayout.Alignment = FlowAlignment.Center;
tileLayout.MainLayout.HorzNearMargin = 50; // Left margin
tileLayout.MainLayout.HorzFarMargin = 50; // Right margin
tileLayout.MainLayout.TopMargin = 30; // Top margin
tileLayout.MainLayout.BottomMargin = 30; // Bottom margin
tileLayout.MainLayout.ReverseRows = false; // Standard flow// Configure MainLayout for custom positioning
tileLayout.MainLayout.Alignment = FlowAlignment.Center;
tileLayout.MainLayout.HorzNearMargin = 50; // Left margin
tileLayout.MainLayout.HorzFarMargin = 50; // Right margin
tileLayout.MainLayout.TopMargin = 30; // Top margin
tileLayout.MainLayout.BottomMargin = 30; // Bottom margin
tileLayout.MainLayout.ReverseRows = false; // Standard flow| Property | Type | Description | When to Use |
|---|---|---|---|
| bool | Shows/hides group titles | Display category names above groups |
| bool | Applies flat look to parent form | Modern, minimalist appearance |
| bool | Use BackColor instead of theme | Custom background colors |
| FlowAlignment | Near, Center, Far alignment | Control tile group positioning |
| int | Left margin (pixels) | Custom left spacing |
| int | Right margin (pixels) | Custom right spacing |
| int | Top margin (pixels) | Custom top spacing |
| int | Bottom margin (pixels) | Custom bottom spacing |
| bool | Reverse layout direction | Right-to-left or bottom-to-top flow |
| 属性 | 类型 | 描述 | 适用场景 |
|---|---|---|---|
| bool | 显示/隐藏分组标题 | 在分组上方展示分类名称 |
| bool | 为父窗体应用扁平外观 | 现代化极简外观 |
| bool | 使用自定义BackColor代替主题背景 | 自定义背景色 |
| FlowAlignment | 左对齐、居中、右对齐 | 控制磁贴分组的位置 |
| int | 左边距(像素) | 自定义左侧间距 |
| int | 右边距(像素) | 自定义右侧间距 |
| int | 上边距(像素) | 自定义顶部间距 |
| int | 下边距(像素) | 自定义底部间距 |
| bool | 反转布局方向 | 从右到左或从下到上的流布局 |
| Property | Type | Description | When to Use |
|---|---|---|---|
| string | Group title text | Label for tile category |
| Color | Group background color | Visual distinction between groups |
| Collection | ImageStreamer items in group | Access/manage tiles in group |
| 属性 | 类型 | 描述 | 适用场景 |
|---|---|---|---|
| string | 分组标题文本 | 磁贴分类的标签 |
| Color | 分组背景色 | 不同分组的视觉区分 |
| Collection | 分组中的ImageStreamer项集合 | 访问/管理分组中的磁贴 |
| Property | Type | Description | When to Use |
|---|---|---|---|
| ImageCollection | Collection of images to display | Add images for live tiles |
| bool | Enable image rotation | Animate tiles with multiple images |
| int | Animation speed (ms) | Control rotation speed |
| bool | Show navigation arrows | Allow manual image navigation |
| StreamDirection | Animation direction | Control slide direction |
| ImageStreamerType | Normal or DoubleHorizontal | Display 1 or 2 images |
| Color | Tile background color | Customize individual tile colors |
| 属性 | 类型 | 描述 | 适用场景 |
|---|---|---|---|
| ImageCollection | 要展示的图片集合 | 为动态磁贴添加图片 |
| bool | 启用图片轮播 | 为多图片磁贴添加动画 |
| int | 动画速度(毫秒) | 控制轮播速度 |
| bool | 展示导航箭头 | 允许手动切换图片 |
| StreamDirection | 动画方向 | 控制滑动方向 |
| ImageStreamerType | 普通或双横版 | 展示1张或2张图片 |
| Color | 磁贴背景色 | 自定义单个磁贴的颜色 |
ImageStreamer.SlideShow = trueMainLayout.AlignmentIgnoreThemeBackground = trueImageStreamer.SlideShow = trueMainLayout.AlignmentIgnoreThemeBackground = true