Spread for Windows Forms Combobox花式操作

发布时间:2017/07/25 00:07 发布者:ClarkPan

返回博客中心

        Spread for  Windows Forms 可以定义Combobox这个是众所周知的,但是大多数人并不知道Spread for Windows Forms 定义的Combobox是可以改变options是可以加入图片的,也可以改变背景颜色的。

image

        下面就让我们来看看,Spread for  Windows Forms 是如何操作的:

        1.创建一个list容器将图片添加至容器中。

ImageList img = new ImageList();
img.Images.Add(Image.FromFile("C:\\Program Files (x86)\\GrapeCity\\rasp.png"));
img.Images.Add(Image.FromFile("C:\\Program Files (x86)\\GrapeCity\\vanilla.png"));
img.Images.Add(Image.FromFile("C:\\Program Files (x86)\\GrapeCity\\choco.png"));
img.Images.Add(Image.FromFile("C:\\Program Files (x86)\\GrapeCity\\banana.png"));

        2.创建Combobox对象

GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType gccombo = new GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType();

       3.设置options的值

gccombo.DropDownStyle = ComboBoxStyle.DropDownList;
gccombo.Items.AddRange(new String[] { "Raspberry", "Vanilla", "Chocolate", "Banana" });

        4.设置图片与options的背景颜色

gccombo.Items[0].BackColor = Color.Fuchsia;
gccombo.Items[1].BackColor = Color.Ivory;
gccombo.Items[2].BackColor = Color.Chocolate;
gccombo.Items[3].BackColor = Color.LightYellow;
gccombo.ImageList = img;
gccombo.Items[0].Image = 0;
gccombo.Items[1].Image = 1;
gccombo.Items[2].Image = 2;
gccombo.Items[3].Image = 3;
gccombo.ShowListBoxImage = true;

        5.设置combobox的显示样式

gccombo.ImageAlign = HorizontalAlignment.Right;
gccombo.ListSelectedItemStyle.BackColor = Color.Bisque;
gccombo.ListSelectedItemStyle.ForeColor = Color.Black;

        6.给指定单元格设置celltype

fpSpread1.Sheets[0].Cells[1, 1].CellType = gccombo;

        7.如果您需要联动逻辑,可以参考设置联动单元格

FarPoint.Win.Spread.CellType.CurrencyCellType currencycell = new FarPoint.Win.Spread.CellType.CurrencyCellType();
fpSpread1.Sheets[0].Cells[1, 2].CellType = currencycell;

        8.设置单元格��样式

fpSpread1.Sheets[0].Cells[0, 1].Text = "Select a flavor";
fpSpread1.Sheets[0].Cells[0, 2].Text = "Total";
fpSpread1.Sheets[0].Columns[1, 2].Font = new Font("Calibri", 10, FontStyle.Bold);
fpSpread1.Sheets[0].Columns[1, 2].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
fpSpread1.Sheets[0].Rows[1].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;

        9.设置并绑定ComboSelChange事件

fpSpread1.ComboSelChange += fpSpread1_ComboSelChange;
private void fpSpread1_ComboSelChange(object sender, FarPoint.Win.Spread.EditorNotifyEventArgs e)
{
string caseSwitch;
caseSwitch = fpSpread1.Sheets[0].Cells[1, 1].Text;
switch (caseSwitch)
{
case "Raspberry":
fpSpread1.Sheets[0].Cells[1, 2].Value = 5.00;
break;
case "Vanilla":
fpSpread1.Sheets[0].Cells[1, 2].Value = 4.00;
break;
case "Chocolate":
fpSpread1.Sheets[0].Cells[1, 2].Value = 4.25;
break;
case "Banana":
fpSpread1.Sheets[0].Cells[1, 2].Value = 4.75;
break;
}
}

           大功告成,让我们来看看结果如何:

image

           选择其中后会触发ComboSelChange事件,自动计算total

image

             就是这么简单,就是这么freestyle。

image

 

相关源码下载请点击以下地址:

http://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=38566&extra=page%3D1

有兴趣想要下载本产品的可以在以下网址进行下载试用:

/download/?pid=46

Spread Windows Forms还可以实现很多精彩的功能,您可以访问以下站点进行详细了解:

/developer/spread-winform


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网