很多人对圆角情有独钟,但圆角对于Winform来说,简直是个鸡肋,不像Html5和WPF这些,直接设置个属性参数即可,Winform基本都得用到重绘,对于DevExpress的控件来说有些是考虑用自定义皮肤或者修改控件对应皮肤元素的图片,只要使用圆角图片即可,结合采用圆角图片的概念,对于TileControl 来说,简单一点的方式就是设置TileItem的背景图片,去除边框和背景色透明,就可以达到TileItem 为圆角的效果。
圆角图片准备:
代码设置:
tileControl1.ItemBorderVisibility = TileItemBorderVisibility.Never;
tileControl1.BackColor = Color.White;
tileGroup1.Items.Clear();
tileControl1.IndentBetweenItems = -10;
tileControl1.AppearanceItem.Normal.BackColor = Color.Transparent;
for (int i = 0; i < 20; i++)
{
var tileItemElement = new TileItemElement();
tileItemElement.ImageOptions.Image = DXApplication1.Properties.Resources.round;
tileItemElement.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Stretch;
tileItemElement.Text = "tileItem"+i;
tileItemElement.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter;
var item = new TileItem();
item.Elements.Add(tileItemElement);
item.ItemSize = DevExpress.XtraEditors.TileItemSize.Wide;
item.Name = "item"+i;
tileGroup1.Items.Add(item);
}
结果图: