自定义reportviewer打印设置按钮的另类实现方法

 在vs2005中,reportviewer控件并没有提供对“页面设置”的直接调用的方法,网上有自定义类的解决方法,可行但很麻烦,在实践中我发现了一个方法,就是利用reportviewer的右键菜单,采用鼠标模拟的方法,来完成对页面设置的调用。

首先设置reportviewer的属性: ShowPageNavigationControl=Ture,ShowToolBar=False,

 

Public   Class Form1

    
Private Const MOUSEEVENTF_LEFTDOWN = &H2
    
Private Const MOUSEEVENTF_LEFTUP = &H4
    
Private Const MOUSEEVENTF_MIDDLEDOWN = &H20
    
Private Const MOUSEEVENTF_MIDDLEUP = &H40
    
Private Const MOUSEEVENTF_RIGHTDOWN = &H8
    
Private Const MOUSEEVENTF_RIGHTUP = &H10

    
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Int32, ByVal y As Int32) As Int32

    
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Int32, ByVal dx As Int32, ByVal dy As Int32, ByVal cButtons As Int32, ByVal dwExtraInfo As Int32)

    
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        
Dim p As Point = Me.ReportViewer1.PointToScreen(Me.ReportViewer1.Location)


        
'模拟右键
        p.X += 320
        System.Windows.Forms.Cursor.Position 
= p
        mouse_event(MOUSEEVENTF_RIGHTDOWN, 
0000)
        mouse_event(MOUSEEVENTF_RIGHTUP, 
0000)

        
'页面设置的坐标
        p.Y += 80
        p.X 
+= 10
        System.Windows.Forms.Cursor.Position 
= p
        mouse_event(MOUSEEVENTF_LEFTDOWN, 
0000)
        mouse_event(MOUSEEVENTF_LEFTUP, 
0000)

        
'End If
end class

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值