using DevExpress.XtraEditors;
|
using System;
|
using System.Collections.Generic;
|
using System.Drawing;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using System.Windows.Forms;
|
|
namespace IStation.WinFrmUI
|
{
|
public static class TilePeekItemsExtensions
|
{
|
/// <summary>
|
/// 创建弹出面板
|
/// </summary>
|
/// <param name="items"></param>
|
/// <param name="dele"></param>
|
/// <returns></returns>
|
public static Control CreatePeekCtrl(this List<TilePeekItem> items, Action<TilePeekItem> dele)
|
{
|
var tc = new TileControl();
|
tc.SetForPeek();
|
|
var group = new DevExpress.XtraEditors.TileGroup();
|
tc.Groups.Add(group);
|
tc.BeginUpdate();
|
items.ForEach(x =>
|
{
|
TileItem item = new TileItem();
|
item.Text = x.Caption;
|
item.Tag = x.Tag;
|
item.Image = x.NormalImage;
|
item.ImageScaleMode = TileItemImageScaleMode.Default;
|
item.ImageToTextAlignment = TileControlImageToTextAlignment.Left;
|
item.ImageAlignment = TileItemContentAlignment.MiddleLeft;
|
item.ImageToTextIndent = 15;
|
item.ItemClick += delegate { dele(x); };
|
item.Enabled = x.Enable;
|
x.EnableChangedEvent += bol => item.Enabled = bol;
|
group.Items.Add(item);
|
});
|
tc.EndUpdate();
|
tc.Size = new Size(tc.OptionsAdaptiveLayout.ItemMinSize.Width, group.Items.Count * tc.OptionsAdaptiveLayout.ItemMinSize.Height);
|
return tc;
|
}
|
|
/// <summary>
|
/// 创建弹出面板
|
/// </summary>
|
/// <param name="items"></param>
|
/// <returns></returns>
|
public static Control CreatePeekCtrl(this List<TilePeekItem> items)
|
{
|
var tc = new TileControl();
|
tc.SetForPeek();
|
var group = new DevExpress.XtraEditors.TileGroup();
|
tc.Groups.Add(group);
|
tc.BeginUpdate();
|
items.ForEach(x =>
|
{
|
var item = new TileItem();
|
item.Text = x.Caption;
|
item.Tag = x.Tag;
|
item.Image = x.NormalImage;
|
item.ImageScaleMode = TileItemImageScaleMode.Default;
|
item.ImageToTextAlignment = TileControlImageToTextAlignment.Left;
|
item.ImageAlignment = TileItemContentAlignment.MiddleLeft;
|
item.ImageToTextIndent = 15;
|
item.ItemClick += delegate { if (x.Click != null) x.Click(); };
|
item.Enabled = x.Enable;
|
|
x.EnableChangedEvent += bol => item.Enabled = bol;
|
group.Items.Add(item);
|
});
|
tc.EndUpdate();
|
tc.Size = new Size(tc.OptionsAdaptiveLayout.ItemMinSize.Width, group.Items.Count * tc.OptionsAdaptiveLayout.ItemMinSize.Height);
|
return tc;
|
}
|
|
/// <summary>
|
/// 创建弹出面板
|
/// </summary>
|
/// <param name="items"></param>
|
/// <returns></returns>
|
public static Control CreatePeekCtrl2( List<TilePeekItem> items)
|
{
|
var tc = new TileControl();
|
tc.SetForPeek2();
|
var group = new DevExpress.XtraEditors.TileGroup();
|
tc.Groups.Add(group);
|
tc.BeginUpdate();
|
items.ForEach(x =>
|
{
|
var item = new TileItem();
|
item.Text = x.Caption;
|
item.Tag = x.Tag;
|
item.Image = x.NormalImage;
|
item.ImageScaleMode = TileItemImageScaleMode.Default;
|
item.ImageToTextAlignment = TileControlImageToTextAlignment.Default;
|
item.ImageAlignment = TileItemContentAlignment.MiddleLeft;
|
item.ImageToTextIndent = 15;
|
item.ItemClick += delegate { if (x.Click != null) x.Click(); };
|
item.Enabled = x.Enable;
|
item.TextAlignment = TileItemContentAlignment.MiddleCenter;
|
x.EnableChangedEvent += bol => item.Enabled = bol;
|
group.Items.Add(item);
|
});
|
tc.EndUpdate();
|
tc.Size = new Size(tc.OptionsAdaptiveLayout.ItemMinSize.Width, group.Items.Count * tc.OptionsAdaptiveLayout.ItemMinSize.Height);
|
return tc;
|
}
|
}
|
}
|