找回密码
 立即注册

QQ登录

只需一步,快速开始

刘君

中级会员

141

主题

335

帖子

942

积分

中级会员

积分
942

活字格认证

刘君
中级会员   /  发表于:2015-2-15 11:44  /   查看:4043  /  回复:1
我为某个单元格自定义了一个控件,现在是必须要双击单元格该控件才显示出来,我希望是这个单元格获得焦点这个自定义控件就显示出来,或是象自带控件一件常驻显示,有什么方法吗?

MyControl.rar

1.85 MB, 下载次数: 97

1 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-2-15 14:32:00
沙发
回复 1楼刘君的帖子

你的示例已经收到。
示例里涉及到一些业务逻辑,比较复杂。
其中自定义了一个PopUpCellType,里面是一个TextBox和一个Button。在自定义控件的时候,重写GetEditorControl,就是说进入编辑状态的时候,用你自定义的这个TypeControl显示。但是没有重写PaintCell方法。
你需要单元格在退出编辑状态的时候显示什么样式,可以通过这个方法设置。

比如,我退出编辑状态显示CheckBox的样式,代码参考:
  1. public override void PaintCell(Graphics g, Rectangle r, FarPoint.Win.Spread.Appearance appr, object value, bool issel, bool
  2. islocked, float zoom)
  3. {
  4.    GetEditorValue();
  5.    if (ckbx.CheckState == CheckState.Checked)
  6.    {
  7.       ControlPaint.DrawCheckBox(g, r.X, r.Y, r.Width - 40, r.Height - 6, ButtonState.Checked);
  8.    }
  9.    else if (ckbx.CheckState == CheckState.Unchecked)
  10.    {
  11.      ControlPaint.DrawCheckBox(g, r.X, r.Y, r.Width - 40, r.Height - 6, ButtonState.Normal);
  12.    }
  13. }
复制代码


你只需要根据你的需求,重写这个方法即可。

在本地的产品文档里,也有相关介绍,Creating a Custom Cell Type 章节。
文档地址:C:\Program Files\ComponentOne\Spread Studio 8\Docs\Windows Forms\FarPoint.Win.Spread.8.0.chm
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部