CrystalReportViewer的鼠标滚轮支持

近日实现了水晶报表中对于CrystalReportViewer的鼠标滚轮支持,希望可以给帮助到有需要的朋友。下面给出了CrystalReportViewer的MouseWheel的事件处理函数:
	private void crystalReportViewer1_MouseWheel(object sender, MouseEventArgs e) 	
	{ 			
		Control pageView = null; 			
		CrystalDecisions.Windows.Forms.PageView temp_pageView = new CrystalDecisions.Windows.Forms.PageView();
 		foreach(Control control in this.crystalReportViewer1.Controls) 			
		{ 				
			if(control.GetType() == temp_pageView.GetType()) 				
			{ 					
				pageView = control; 					
				break; 				
			} 			
		}  			

		if(pageView != null) 			
		{ 				
			CrystalDecisions.Windows.Forms.DocumentControl docControl = null; 				
			TabControl temp_tabControl = new TabControl();  				
			foreach(Control control in pageView.Controls) 				
			{ 					
				if(control.GetType() == temp_tabControl.GetType()) 			
				{ 						
					TabControl tc = (TabControl)control; 						
					docControl = (CrystalDecisions.Windows.Forms.DocumentControl)tc.SelectedTab; 		
					break; 					
				} 				
			}  				

			if(docControl != null) 				
			{ 					
				Point point = docControl.AutoScrollPosition; 					
				int y = (-1)*point.Y; 					
				point.Offset(0,2*y); 					
				Int16 numberOfLinesToMove =(short)(e.Delta*SystemInformation.MouseWheelScrollLines / 120); 	
				int numberOfPixelsToMove =numberOfLinesToMove* 10; 		
				point.Offset(0/*numberOfLinesToMove*/,(-1)*numberOfPixelsToMove); 	
				docControl.AutoScrollPosition = point; 				
			 } 			
		}  			  		
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值