找回密码
 立即注册

QQ登录

只需一步,快速开始

basechina

论坛元老

7

主题

26

帖子

5637

积分

论坛元老

积分
5637

活字格认证

basechina
论坛元老   /  发表于:2012-9-21 14:52  /   查看:6524  /  回复:5
怎样才能让一个grid只能查看,而不触发它的任何事件。设置enabled属性的话,如果有滚动条的话,滚动条也会动不了。现在想让滚动条能动起来。这个可以实现吗?

5 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-9-21 16:36:00
沙发
回复 1楼basechina的帖子

basechina 你好,
可以通过屏蔽相关 FlexGrid 属性实现,
例如使其不可编辑:
  1.    
  2.         this.c1FlexGrid1.AllowEditing = false;
复制代码

如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
basechina
论坛元老   /  发表于:2012-9-22 10:15:00
板凳
iceman,谢谢你的回复。
但是像MouseDown,SelChange等事件是屏蔽不了的吧。
现在的需求是打开一个画面,如果这个画面包含有Grid控件并且符合一定的条件,那就只能查看,它以前里面注册的事件全部不能触发。
这些事件难道只能一个一个的注销吗?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-9-25 11:16:00
地板
回复 3楼basechina的帖子

basechina 你好,
目前只能逐一注销,3# 中提到的两个事件可以通过

  1.         private void c1FlexGrid1_MouseDown(object sender, MouseEventArgs e)
  2.         {
  3.             //if 条件可以写判断条件
  4.             if (true)
  5.             {
  6.                 return;
  7.             }
  8.             MessageBox.Show("失效");
  9.         }

  10.         private void c1FlexGrid1_SelChange(object sender, EventArgs e)
  11.         {
  12.             //if 条件可以写判断条件
  13.             if (true)
  14.             {
  15.                 return;
  16.             }
  17.             MessageBox.Show("失效");
  18.         }
复制代码
回复 使用道具 举报
basechina
论坛元老   /  发表于:2012-9-28 09:00:00
5#
看来目前只能这样了。
谢谢!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-9-28 09:14:00
6#
回复 5楼basechina的帖子

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