2

プロジェクトに取り組んでおり、PowerPointビューアをWindowsフォームに埋め込む必要があります。次のActiveXコントロールを使用しています:http ://www.daolnwod.com/free-powerpoint-viewer-activex.html 。

フォームデザイナのツールボックスで使用するコントロールをアクティブにして、フォームにドラッグしました。次に、InitializeComponent()メソッドのコードを次のように編集しました。

this.axPowerPointViewer1 = new AxPOWERPOINTVIEWERLib.AxPowerPointViewer();

((System.ComponentModel.ISupportInitialize)(this.axPowerPointViewer1)).BeginInit();
this.axPowerPointViewer1.Enabled = true;
this.axPowerPointViewer1.Location = new System.Drawing.Point(0, 0);
this.axPowerPointViewer1.Name = "axPowerPointViewer1";
this.axPowerPointViewer1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axPowerPointViewer1.OcxState")));
this.axPowerPointViewer1.Size = new System.Drawing.Size(925, 573);
this.axPowerPointViewer1.TabIndex = 5;
//this.axPowerPointViewer1.CreateControl();
this.Controls.Add(this.axPowerPointViewer1);
((System.ComponentModel.ISupportInitialize)(this.axPowerPointViewer1)).EndInit();

そして私のFormsコンストラクターで

public Form1()
{
    InitializeComponent();

    axPowerPointViewer1.Show();
    bool loaded = axPowerPointViewer1.LoadFile(@"C:\Debug\test2.ppt"); // loaded = false

    string z = axPowerPointViewer1.GetSlideCount().ToString();
}

ただし、フォームを開いているときは何も表示されません。コードはコンパイルされますが、作業中のテストスライドが表示されません。「前へ」と「次へ」のスライド用に2つのボタンを作成しましたが、デバッグでは毎回スライドの場所が0になるため、何かが間違っている必要があり、見つからないようです。


アップデート

問題は解決しました。axPowerPointviewer1.InitControl()を呼び出さなかったようです。まだいくつか問題があり、起動時に最初のスライドが表示されない場合があります。順調に進んでいれば、この問題への回答を投稿します。

4

1 に答える 1

2

問題は、制御の初期化にあります。コントロールが完全に機能するためには、InitControl()メソッドを呼び出す必要があるため、次のコードを呼び出すと、プログラムが機能するはずです。

    private void Form1_Load(object sender, EventArgs e)
    {
        this.axPowerPointViewer1.InitControl();
    }
于 2012-09-19T14:48:39.540 に答える