找回密码
 立即注册

QQ登录

只需一步,快速开始

wangmj

论坛元老

14

主题

44

帖子

1万

积分

论坛元老

积分
10158

活字格认证

wangmj
论坛元老   /  发表于:2013-2-22 09:35  /   查看:5018  /  回复:3
dof 你好!

“ 不知道日文版是否也是同样的行为,在英文版中我建议你通过截获CheckBox的KeyDown事件来实现该功能。通过截获CheckBox的KeyDown事件可以在SelectionChanged事件中修改Spread的 EditModePermanent 属性: ”
这是在以前的一个帖子里,你解答我问题时的解决方案。
当时因为有事去别的项目组了,现在回来,又涉及到这个问题了。
spread中用到的控件 ,我只知道能响应 ButtonClicked 事件,
所以弱弱的问一下,如何 截获CheckBox的KeyDown事件啊?

3 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-2-22 14:43:00
沙发
回复 1楼wangmj的帖子

wangmj 新年好

你需要的功能请参考以下代码:
  1.     public partial class Form1 : Form
  2.     {
  3.         public Form1()
  4.         {
  5.             InitializeComponent();
  6.         }

  7.         private void Form1_Load(object sender, EventArgs e)
  8.         {
  9.             fpSpread1.Sheets[0].Columns[0].CellType = new FarPoint.Win.Spread.CellType.CheckBoxCellType();

  10.             fpSpread1.EditModeOn += new EventHandler(fpSpread1_EditModeOn);
  11.             fpSpread1.SelectionChanged += new FarPoint.Win.Spread.SelectionChangedEventHandler(fpSpread1_SelectionChanged);
  12.         }

  13.         void fpSpread1_SelectionChanged(object sender, FarPoint.Win.Spread.SelectionChangedEventArgs e)
  14.         {
  15.             if (fpSpread1.ActiveSheet.ActiveColumnIndex == 0)
  16.             {
  17.                 fpSpread1.EditModePermanent = true;
  18.             }
  19.             else
  20.             {
  21.                 fpSpread1.EditModePermanent = false;
  22.             }
  23.         }

  24.         void fpSpread1_EditModeOn(object sender, EventArgs e)
  25.         {
  26.             FarPoint.Win.FpCheckBox control = fpSpread1.EditingControl as FarPoint.Win.FpCheckBox;

  27.             if (control != null)
  28.             {
  29.                 control.KeyDown -= new KeyEventHandler(control_KeyDown);
  30.                 control.KeyDown += new KeyEventHandler(control_KeyDown);
  31.             }
  32.         }

  33.         void control_KeyDown(object sender, KeyEventArgs e)
  34.         {
  35.             
  36.         }
  37.     }
复制代码
回复 使用道具 举报
wangmj
论坛元老   /  发表于:2013-2-22 16:15:00
板凳
dof 新年好。
都忘了已经2013了,哈哈。

谢谢!
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-2-25 17:46:00
地板
不客气
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部