找回密码
 立即注册

QQ登录

只需一步,快速开始

恶马Maximus

银牌会员

4

主题

9

帖子

3138

积分

银牌会员

积分
3138

活字格认证

恶马Maximus
银牌会员   /  发表于:2013-4-29 15:00  /   查看:7511  /  回复:5
版主下午好。
如题,sheetview.CellChanged , FpSpread.ButtonClicked, FpSpread.CellClick 还是 FpSpread.Change 或别的事件?
有没有个哪个是最契合勾选CheckBox的事件。

5 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2013-5-2 11:30:00
沙发
回复 1楼恶马Maximus的帖子

试试我的代码:

  1.         private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             FarPoint.Win.Spread.CellType.CheckBoxCellType ck = new FarPoint.Win.Spread.CellType.CheckBoxCellType();
  4.             ck.EditorValueChanged += new EventHandler(ck_EditorValueChanged);

  5.             this.fpSpread1.Sheets[0].Columns[0].CellType = ck;
  6.         }

  7.         void ck_EditorValueChanged(object sender, EventArgs e)
  8.         {

  9.         }
复制代码
回复 使用道具 举报
山水
初级会员   /  发表于:2013-5-2 11:52:00
板凳
您好,
      最贴切的事件是FpSpread.ButtonClicked, 该事件也是Spread Win 6帮助文档推荐的处理CheckBox单击事件的。
该事件对ButtonCellType和HyperLinkCellType也适用。在该事件处理器中,您能够得到当前的Editing control及其相关属性,甚至能为该Editing control挂接事件。其他事件处理器则不能直接得到当前的Editing control,并且适用于所有cell.
一个例子代码如下:
        public Form1()
        {
            InitializeComponent();
            this.fpSpread1.ButtonClicked += fpSpread1_ButtonClicked;
        }

        void fpSpread1_ButtonClicked(object sender, FarPoint.Win.Spread.EditorNotifyEventArgs e)
        {
            if (e.EditingControl is FarPoint.Win.FpCheckBox)
            {
                FarPoint.Win.FpCheckBox fpCheckBox = e.EditingControl as FarPoint.Win.FpCheckBox;
                bool isChecked = fpCheckBox.Checked;
                CheckState checkState = fpCheckBox.CheckState;
                fpCheckBox.CheckStateChanged += fpCheckBox_CheckStateChanged;
            }
        }

        void fpCheckBox_CheckStateChanged(object sender, EventArgs e)
        {

        }
回复 使用道具 举报
恶马Maximus
银牌会员   /  发表于:2013-5-2 15:59:00
地板
回复 2楼iceman的帖子

谢谢你的回复
回复 使用道具 举报
恶马Maximus
银牌会员   /  发表于:2013-5-2 16:20:00
5#
回复 3楼山水的帖子

非常谢谢你的回复。对我很有帮助,只是追加一个小小的问题,fpCheckBox.CheckStateChanged += fpCheckBox_CheckStateChanged这行的意思是new一个fpCheckBox_CheckStateChanged的eventargs么?VB.NET的写法是怎么样的啊?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-5-2 17:22:00
6#
回复 5楼恶马Maximus的帖子

VB 代码:

  1.     Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  2.         Dim ck As New FarPoint.Win.Spread.CellType.CheckBoxCellType
  3.         AddHandler ck.EditorValueChanged, AddressOf fpCheckBox_CheckStateChanged

  4.         Me.FpSpread1.Sheets(0).Columns(0).CellType = ck

  5.     End Sub

  6.     Private Sub fpCheckBox_CheckStateChanged(sender As Object, e As EventArgs)

  7.     End Sub
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部