UserControl wird in Form nicht angezeigt

26/03/2009 - 22:55 von AndreasU | Report spam
ich denke, da es in der folgenden Frage um UserControl und Window.Form geht,
ist die Frage hier besser plaziert als in Office dev ...

Ich benutze in Excel 2007 AddIn ein UserControl in einer Taskpane, was auch
funktioniert. Dieses UserControl ReportInsert möchte ich auch in Excel 2003
verwenden. Da es dort TaskPanes nicht gibt (ist das so?) wollte ich für Excel
2003 eine Form frm2003ReportInsert erstellen und das Usercontrol darin
plazieren. Damit das ganze flexibel ist (soll auch in Word 2003/2007
verwendet werden), steckt das ganze in einer eigenen DLL.

Mein Problem ist, daß das Usercontrol in der Form nicht angezeigt wird. Das
Form geht auf aber das Usercontrol wird nicht angezeigt. Folgendes habe ich
rausgefunden: der Konstruktor frm2003ReportInsert() wird aufgerufen, die
Load-Funktion nicht.

Ich habe das UserControl habe ich auch nicht in der Toolbox (weil ich das
Usercontrol in einer eigenen DLL habe?). "Refresh Project Toolbox Items" im
Visual Studio 2008 ist deaktiviert und kann nicht betàtigt werden.

In Excel 2003 öffne ich die Form so:

frm2003ReportInsert frmReportInsert = new frm2003ReportInsert();
frmReportInsert.Show();


Das Form frm2003ReportInsert ist folgendermaßen implementiert:

using ...
using PHOffice.UserControls; // namespace DLL

namespace PHOffice.Forms
{
public partial class frm2003ReportInsert : Form
{
ReportInsert ctrlReportInsert;

public frm2003ReportInsert()
{
InitializeComponent();
}

private void frm2003ReportInsert_Load(object sender, EventArgs e)
{
ctrlReportInsert = new ReportInsert();
this.SuspendLayout();

ctrlReportInsert.Location = new System.Drawing.Point(12, 12);
ctrlReportInsert.Name = "Test";
ctrlReportInsert.Visible = true;
ctrlReportInsert.Show();


this.ResumeLayout(false);
this.Refresh();
}
}
}

Ich benutze Visual Studio 2008 und C#.

Für Tips wàre ich dankbar.


-
XXL-Pizza: Der Schnelle Weg zu Ihrer Pizza
http://www.xxl-pizza.de
 

Lesen sie die antworten

#1 Michael Huber
27/03/2009 - 09:12 | Warnen spam
Hallo Andreas,

du musst das ctrlReportInsert noch zur Controlls Collection des Forms
hinzufügen:
Controlls.Add(ctrlReportInsert);
ctrlReportInsert.Dock = DockStyle.Fill;

Ähnliche fragen