Hallo zusammen,
ich möchte zur Laufzeit ein Control austauschen. Ob das geht weiß ich nicht, aber ich probiers halt mal.
Ich habe auf meiner Form eine PictureBox und einen OpenFileDialog. Wird im Dialog ein Bild ausgesucht, wird dieses in der PictureBox dargestellt.
Wird jetzt aber anstelle eines Bildes ein PDF ausgesucht, soll die PictureBox unsichtbar werden und an ihre Stelle ein ActiveX Steuerelemet treten, das PDF darstellen kann und die selben Maße wie die PictureBox bekommt.
[highlight=vbnet]
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
txtDatei.Text = OpenFileDialog1.FileName
If OpenFileDialog1.FileName.ToLower.EndsWith("pdf") Then
Dim secretPDF As AxAcroPDFLib.AxAcroPDF = New AxAcroPDFLib.AxAcroPDF
myPicBox.Hide()
secretPDF.SetBounds(myPicBox.Left, myPicBox.Top, myPicBox.Width, myPicBox.Height)
secretPDF.Show()
secretPDF.LoadFile(txtDatei.Text)
Else
If txtDatei.Text <> "" Then
myPicBox.Show()
myPicBox.ImageLocation = txtDatei.Text
End If
End If
End If
End Sub
[/highlight]
Das ganze gibt aber leider immer eine COM-Exception
Hat jemand eine Idee was ich falsch mache?
ich möchte zur Laufzeit ein Control austauschen. Ob das geht weiß ich nicht, aber ich probiers halt mal.
Ich habe auf meiner Form eine PictureBox und einen OpenFileDialog. Wird im Dialog ein Bild ausgesucht, wird dieses in der PictureBox dargestellt.
Wird jetzt aber anstelle eines Bildes ein PDF ausgesucht, soll die PictureBox unsichtbar werden und an ihre Stelle ein ActiveX Steuerelemet treten, das PDF darstellen kann und die selben Maße wie die PictureBox bekommt.
[highlight=vbnet]
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
txtDatei.Text = OpenFileDialog1.FileName
If OpenFileDialog1.FileName.ToLower.EndsWith("pdf") Then
Dim secretPDF As AxAcroPDFLib.AxAcroPDF = New AxAcroPDFLib.AxAcroPDF
myPicBox.Hide()
secretPDF.SetBounds(myPicBox.Left, myPicBox.Top, myPicBox.Width, myPicBox.Height)
secretPDF.Show()
secretPDF.LoadFile(txtDatei.Text)
Else
If txtDatei.Text <> "" Then
myPicBox.Show()
myPicBox.ImageLocation = txtDatei.Text
End If
End If
End If
End Sub
[/highlight]
Das ganze gibt aber leider immer eine COM-Exception
"Eine Ausnahme vom Typ System.Windows.Forms.AxHost+InvalidActiveXStateExc eption wurde ausgelöst."
Comment