找回密码
 立即注册

QQ登录

只需一步,快速开始

wangleiecho

中级会员

26

主题

94

帖子

658

积分

中级会员

积分
658

活字格认证

wangleiecho
中级会员   /  发表于:2012-3-19 11:06  /   查看:6861  /  回复:9
斑竹你好,
     我在ComboxCellType的EditorValueChanged事件中写了一句用来判断颜色的话,Combobox的选中值改变的时候,在界面上却无法显示出来呢?是bug吗?
void comCellType_EditorValueChanged(object sender, EventArgs e)
        {
            if (this.fp_Sheet1.ActiveCell.Text == "数据1")
            {
                this.fp_Sheet1.ActiveCell.ForeColor = Color.DarkOrange;// 深橙色
            }
            if (this.fp_Sheet1.ActiveCell.Text == "数据2")
            {
                this.fp_Sheet1.ActiveCell.ForeColor = Color.Black;// 黑色
            }
        }

9 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-3-19 12:28:00
沙发

回复 1# wangleiecho 的帖子

Hello~下面是我的实现方法,代码生效,请对比
  1.         private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             FarPoint.Win.Spread.CellType.ComboBoxCellType comboBoxCellType1 = new FarPoint.Win.Spread.CellType.ComboBoxCellType();
  4.             comboBoxCellType1.Items = (new String[] { "数据1", "数据2", });
  5.             fpSpread1.Sheets[0].Cells[0, 0].CellType = comboBoxCellType1;
  6.             comboBoxCellType1.EditorValueChanged += new EventHandler(comboBoxCellType1_EditorValueChanged);
  7.         }
  8.         void comboBoxCellType1_EditorValueChanged(object sender, EventArgs e)
  9.         {
  10.             FarPoint.Win.Spread.CellType.ComboBoxCellType test = sender as FarPoint.Win.Spread.CellType.ComboBoxCellType;
  11.             if (this.fpSpread1.Sheets[0].ActiveCell.Text == "数据1")
  12.             {
  13.                 this.fpSpread1.Sheets[0].ActiveCell.ForeColor = Color.DarkOrange;
  14.             }
  15.             if (this.fpSpread1.Sheets[0].ActiveCell.Text == "数据2")
  16.             {
  17.                 this.fpSpread1.Sheets[0].ActiveCell.BackColor = Color.DarkOrange;
  18.             }
  19.         }
复制代码
回复 使用道具 举报
wangleiecho
中级会员   /  发表于:2012-3-19 13:59:00
板凳
斑竹你好,我试了上面的代码,好像没有实现我想要的功能。
我现在想要的功能是 如果选择 数据1 那个这个“数据1”就显示为 Color.DarkOrange( 深橙色)
如果选择 数据2 那个这个“数据2” 就显示为 Color.Black(黑色)
斑竹给的代码 改变了背景颜色,如果不改变背景颜色好像 下拉框就无法使用了,不知道为什么;可是如果按照版主的写法 那么 数据1 和数据2 又都是 Color.DarkOrange( 深橙色)了,但是我想要的是 黑色和深橙色两种颜色
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-3-19 14:20:00
地板
:-D楼主你好,下面这段代码实现选项不同前景色不同的功能:

  1.         //如果选择 数据1 那个这个“数据1”就显示为 Color.DarkOrange( 深橙色)
  2.         //如果选择 数据2 那个这个“数据2” 就显示为 Color.Black(黑色)
  3.         void comboBoxCellType1_EditorValueChanged(object sender, EventArgs e)
  4.         {
  5.             FarPoint.Win.Spread.CellType.ComboBoxCellType test = sender as FarPoint.Win.Spread.CellType.ComboBoxCellType;
  6.             if (this.fpSpread1.Sheets[0].ActiveCell.Text == "数据1")
  7.             {
  8.                 this.fpSpread1.Sheets[0].ActiveCell.ForeColor = Color.DarkOrange;
  9.             }
  10.             if (this.fpSpread1.Sheets[0].ActiveCell.Text == "数据2")
  11.             {
  12.                 this.fpSpread1.Sheets[0].ActiveCell.ForeColor = Color.Black;

  13.             }
  14.         }
复制代码
2.下面是我的 Demo :
Spread for WinForm 5.0 && VS 2010
3740.zip (47.93 KB, 下载次数: 637)
回复 使用道具 举报
wangleiecho
中级会员   /  发表于:2012-3-19 14:38:00
5#
恩 好的 多谢斑竹
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-3-19 16:00:00
6#

回复 5# wangleiecho 的帖子

:share:
回复 使用道具 举报
zztoll
初级会员   /  发表于:2015-12-16 10:34:00
7#
请问iceman,
EditorValueChanged事件只能手动添加吗?
在属性页中没找到这个事件呢?
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-12-16 14:36:00
8#
您好,

这个事件是在CellType里面的,以CheckBoxCellType为例


2015-12-16_143516.jpg (28.86 KB, 下载次数: 433)
回复 使用道具 举报
zztoll
初级会员   /  发表于:2015-12-16 16:55:00
9#
谢谢作答,也就是只能手动添加这个事件了哈
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-12-16 17:23:00
10#
界面上确实没有能够直接添加的方式。

不客气。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部