本指南演示了如何创建自定义 Ribbon 预览窗体。 要获得相关的总说明,请参阅 创建自定义打印预览

Note注意

因为此功能基于 RibbonControl 组件,因此除了 XtraReports 套件之外,您还需要购买 XtraBars 套件。

要创建一个自定义 Ribbon 预览窗体,则执行下列操作。

  1. 启动 MS Visual Studio (2005、2008 或 2010),并且新建一个或者打开一个现有的 Windows 窗体应用程序

  2. 添加新空白报表 到项目中。 此外,由于报表必须包含至少一个控件来呈现其预览,因此要添加一些控件到报表中。

  3. 添加一个新的 RibbonForm ("DevExpress RibbonForm v10.2") 到项目中。 注意,使用 RibbonForm 来替代标准的 Form 会更好,这是因为 RibbonForm 是专门设计用于显示 RibbonControl 的。

    然后,Ribbon 窗体被添加到项目中。 注意,它已经包含 RibbonControlRibbonStatusBar 组件,并提供了 Ribbon 应用程序按钮Ribbon 快速访问工具栏 元素。 要获得更多关于使用 RibbonForm 类的信息,请参阅 Ribbon 窗体 文档。

  4. PrintRibbonController 项从工具箱中拖放到窗体上 (在默认情况下,该项被添加到 Visual Studio IDE 的 DX.10.2: Reporting 工具箱标签页中)。 在此操作之后,打印预览 Ribbon 页面 被自动创建,并且 PrintControl 被添加到此页面中。

    注意,新创建的 PrintControl 实例被自动指派到 PrintRibbonController.PrintControl 属性。

  5. 现在,自定义 Ribbon 打印预览窗体已经备用。 把 PrintingSystem 组件添加到项目中,并确保它的 PrintControl.PrintingSystem 属性值被设置为 printingSystem1

  6. 在 Ribbon 窗体的 Load 事件处理程序中编写下列代码。

    C#CopyCode image复制代码
    using System;
    using System.Windows.Forms;
    using DevExpress.XtraBars;
    // ...
    
    private void RibbonForm1_Load(object sender, EventArgs e) {
        // Create an XtraReport1 instance.
        XtraReport1 report = new XtraReport1();
    
        // Specify the PrintingSystem of the printControl1.
        printControl1.PrintingSystem = report.PrintingSystem;
    
        // Generate the document for preview.
        report.CreateDocument();
    }
    
    Visual BasicCopyCode image复制代码
    Imports System
    Imports System.Windows.Forms
    Imports DevExpress.XtraBars
    ' ...
    
    Private Sub RibbonForm1_Load(ByVal sender As Object, _ 
    ByVal e As EventArgs) Handles MyBase.Load
        ' Create an XtraReport1 instance.
        Dim report As New XtraReport1()
    
        ' Specify the PrintingSystem of the printControl1.
        printControl1.PrintingSystem = report.PrintingSystem
    
        ' Generate the document for preview.
        report.CreateDocument()
    End Sub
    
  7. 最后,显示 Ribbon 窗体。

    C#CopyCode image复制代码
    using System;
    using System.Windows.Forms;
    // ...
    
    private void Form1_Load(object sender, EventArgs e) {
        RibbonForm1 form = new RibbonForm1();
        form.Show();
    }
    
    Visual BasicCopyCode image复制代码
    Imports System
    Imports System.Windows.Forms
    ' ...
    
    Private Sub Form1_Load(ByVal sender As Object, _ 
    ByVal e As EventArgs) Handles MyBase.Load
        Dim form As New RibbonForm1()
        form.Show()
    End Sub
    

运行应用程序,并查看结果。

Expand image参阅