找回密码
 立即注册

QQ登录

只需一步,快速开始

mimima2020

最新发帖
mimima2020
中级会员   /  发表于:2014-12-9 14:38:00
5#
非常感谢!!!
另外,还有个问题,右键菜单里面也可以删除,怎么样把右键菜单禁掉,不让右键菜单弹出来啊。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-12-8 18:04:00
地板
回复 3楼mimima2020的帖子

如果是 7.0 请触发reportDesigner_LayoutChanging事件之前,设置以下代码:

  1.             reportDesigner.PromptUser = false;
复制代码

评分

参与人数 1满意度 +5 收起 理由
mimima2020 + 5 可以解决问题

查看全部评分

回复 使用道具 举报
mimima2020
中级会员   /  发表于:2014-12-5 17:08:00
板凳
你好,我用的是ActiveReports 7,刚刚试了一下,直接加下面代码的话,
reportdesigner.LayoutChanging += (sender, args) { ..... }
在ardMain_LayoutChanging调用之后才被执行到,这时候删除确认的对话框已经弹出来了,
怎么样在执行ardMain_LayoutChanging之前就把Delete事件截取到,不让删除确认对话框弹出来啊

我试过reportdesigner.KeyDown,没有用,这个KeyDown事件没有传递到reportdesigner这一层

另外,还有个问题,右键菜单里面也可以删除,怎么样把右键菜单禁掉,不让右键菜单弹出来啊
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2014-12-5 16:23:00
沙发
回复 1楼mimima2020的帖子

mimima2020 你好

不知道你使用的是ActiveReports哪个版本,在ActiveReports 9中提供了Designer.LayoutChanging 事件,你可以在这个事件中判断用户的操作类型:
  1. private void ardMain_LayoutChanging(object sender, GrapeCity.ActiveReports.Design.LayoutChangingArgs e)
  2. {
  3.     if (e.Type == Design.LayoutChangeType.SectionDelete)  
  4.     {  
  5.         DialogResult Result;  
  6.         Result = MessageBox.Show("Are you sure you want to delete this section?", "Delete?", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);  
  7.         if (Result == DialogResult.Cancel)  
  8.         {  
  9.             e.AllowChange = false;  
  10.         }  
  11.         else  
  12.         {  
  13.             e.AllowChange = true;  
  14.         }  
  15.     }  
  16. }
复制代码

评分

参与人数 1满意度 +5 收起 理由
mimima2020 + 5 很实用

查看全部评分

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