关闭

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

标签: buttonuserfunctionclass
3251人阅读 评论(0) 收藏 举报
分类:

 在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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:632396次
    • 积分:6870
    • 等级:
    • 排名:第3344名
    • 原创:89篇
    • 转载:122篇
    • 译文:1篇
    • 评论:78条
    最新评论