在Winform中使用MoonPdfLib(Wpf控件)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/frozleaf/article/details/87972162

在Winform中使用MoonPdfLib(Wpf控件)

引用WindowsFormsIntegration.dll,使用ElementHost类的Child属性关联wpf控件

1、新建winform项目,引用以下类库

2、窗体中代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Windows.Forms.Integration;

namespace WindowsFormsApp12
{
    public partial class Form1 : Form
    {
        /// <summary>
        /// wpf控件
        /// </summary>
        private MoonPdfLib.MoonPdfPanel _wpfControl;
        private ElementHost _wpfHost;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // 初始化wpf控件
            _wpfControl = new MoonPdfLib.MoonPdfPanel();
            _wpfControl.PageRowDisplay = MoonPdfLib.PageRowDisplayType.ContinuousPageRows;

            // 初始化ElementHost
            _wpfHost = new ElementHost();
            _wpfHost.Width = this.panel1.Width;
            _wpfHost.Height = this.panel1.Height;
            _wpfHost.Child = _wpfControl; // 绑定wpf控件

            // 将ElementHost添加到窗体
            this.panel1.Controls.Add(_wpfHost);
        }

        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                _wpfControl.OpenFile(this.openFileDialog1.FileName);
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/frozleaf/article/details/87972162