0

Excelアプリケーション内にWinFormを表示したい。ただし、このウィンドウは透明にする必要があります。そのために、私は次のことを行います。

  private void InitializeComponent()
    {
        // other form/ control init code
        this.BackColor = System.Drawing.Color.White;
        this.TransparencyKey = System.Drawing.Color.White;
        // other form/ control init code
    }

このフォームをExcelアプリケーションの子として作成したいので、次のコードを使用します。

 protected override void OnLoad(EventArgs e)     
 {
   // PINVOKE CALL
   User32.SetParent(FORMHANDLE, EXCELAPPHANDLE);   
 }

これを設定すると、フォームが消えます。これは、上記のコードのコメントを外すと、背景が透明なフォームが表示されるためです。

4

0 に答える 0