【问题标题】:PDF Document does not display when creating control dynamically动态创建控件时不显示 PDF 文档
【发布时间】:2015-06-27 17:26:15
【问题描述】:

我有一个要显示多个 PDF 文档的应用程序。如果我在设计时定义控件,我可以加载文档并显示它,但是当我在运行时动态创建控件时,我无法显示它。文档正在选项卡中显示。

这是我的代码...

AxAcroPDF newPDF = new AxAcroPDF();
newPDF.CreateControl();
newPDF.Width = selectedTab.Width;
newPDF.Height = selectedTab.Height;
newPDF.LoadFile(filePath);

selectedTab.Controls.Add(newPDF);
newPDF.Show();
newPDF.Visible = true;

如何让 PDF 显示?

【问题讨论】:

  • 尝试反转这一行newPDF.Show(); newPDF.Visible = true; 首先设置 .Visible 属性..您还确定 selectedTab 是您所期望的.. 调试代码时 selectedTab 索引是什么..?
  • 切换可见/显示语句没有任何区别。是的,当我调试代码时,我可以看到哪个选项卡当前处于活动状态。当程序启动时,只有一个选项卡,这是一个被选中的选项卡,我的 pdf 没有显示在该选项卡上。
  • 也许设计器中有一个设置在您运行代码时被覆盖。我想不出其他任何东西。
  • 也许您应该使用 OnPropertyChange() 来通知您的视图更新?
  • 我找不到名为 OnPropertyChange() 的方法

标签: c# pdf


【解决方案1】:

这对我有用...

AxAcroPDF newPDF = new AxAcroPDF();
selectedTab.Controls.Add(newPDF);

newPDF.CreateControl();
newPDF.Width = selectedTab.Width;
newPDF.Height = selectedTab.Height;

newPDF.LoadFile(filePath);
newPDF.Show();

由于某种原因,它不喜欢在执行 CreateControl() 方法后将 PDF 控件添加到选项卡。

【讨论】:

    【解决方案2】:

    不要使用 WidthHeight,而是使用 SelectedTab 中的 ActualWidthActualHeight。在某些情况下,非实际值可能会报告零尺寸。

    否则硬编码高度和宽度,以查看它是否提供了关于它是否显示但隐藏的洞察力。

    【讨论】:

    • tabPage 对象没有 ActualWidth 和 ActualHeight 属性
    • @Gary 如果硬编码高度和宽度会发生什么?
    • @Gary 加载的 PDF 的文件路径是否相同?也可以将IsEnabled 设置为 true。
    猜你喜欢
    • 2013-08-19
    • 2015-05-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多