By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,524 Members | 1,589 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,524 IT Pros & Developers. It's quick & easy.

Exposing methods of controls in collection

P: n/a
I've satisfactorily got an axwebbrowser control on a form within a
panel, suitably positioned and sized, and now I want to display a
webpage on it. This is not normally a problem when I have the
control as a uniquely named object, since I would just use the
axweb.Navigate or Navigate2 method to send it to the right page.
However, it's part of a controls collection, accessible only via its
place in the collection.
[Form3, the form with the web browser]

Public Sub LoadWebBrowser()
If WebBrowserExists = False Then
Dim ax As New AxSHDocVw.AxWebBrowser
ax.Dock = DockStyle.Fill
Me.Controls.Add(ax)
WebBrowserExists = True
WebBrowserIndex = Me.Controls.Count - 1
End If
End Sub
As you can see, Form3.Controls(WebBrowserIndex) is the webbrowser
control. Now how do I set the page on the control? Using
ax.Navigate within this procedure gives me the following error

'An unhandled exception of type 'InvalidActiveXStateException'
occurred in systems.windows.forms.dll'

and is not ideal in any case, since I'm not sure if the object ax
will continue to exist outside this procedure. But trying to access
the method via

Me.Controls(WebBrowserIndex).Navigate

doesn't work at all, as Navigate is not a member of
System.Windows.Forms.Control, despite being a member of _that
particular_ control.

Incidentally, if anyone can get Form3 to locate and size
appropriately with an axwebbrowser control inside at designtime then
this will save me a lot of headaches. But I reckon I'll probably
want to access methods of controls in collections sooner or later, so
I'll still be grateful for help in this.
--
Cheers, ymt.
The endless moaner.
Apr 3 '06 #1
Share this Question
Share on Google+
2 Replies


P: n/a
Yuk Tang wrote:
I've satisfactorily got an axwebbrowser control on a form within a
panel, suitably positioned and sized, and now I want to display a
webpage on it. This is not normally a problem when I have the
control as a uniquely named object, since I would just use the
axweb.Navigate or Navigate2 method to send it to the right page.
However, it's part of a controls collection, accessible only via its
place in the collection.
[Form3, the form with the web browser]

Public Sub LoadWebBrowser()
If WebBrowserExists = False Then
Dim ax As New AxSHDocVw.AxWebBrowser
ax.Dock = DockStyle.Fill
Me.Controls.Add(ax)
WebBrowserExists = True
WebBrowserIndex = Me.Controls.Count - 1
End If
End Sub
As you can see, Form3.Controls(WebBrowserIndex) is the webbrowser
control. Now how do I set the page on the control? Using
ax.Navigate within this procedure gives me the following error

'An unhandled exception of type 'InvalidActiveXStateException'
occurred in systems.windows.forms.dll'

and is not ideal in any case, since I'm not sure if the object ax
will continue to exist outside this procedure. But trying to access
the method via

Me.Controls(WebBrowserIndex).Navigate

doesn't work at all, as Navigate is not a member of
System.Windows.Forms.Control, despite being a member of _that
particular_ control.

Incidentally, if anyone can get Form3 to locate and size
appropriately with an axwebbrowser control inside at designtime then
this will save me a lot of headaches. But I reckon I'll probably
want to access methods of controls in collections sooner or later, so
I'll still be grateful for help in this.


DirectCast(Me.Controls(WebBrowserIndex),AxSHDocVw. AxWebBrowser).Navigate

Placing "option strict on" at the top of your form will help you avoid
this issue in the future.

Chris
Apr 3 '06 #2

P: n/a
Chris <no@spam.com> wrote in
news:On**************@TK2MSFTNGP10.phx.gbl:

DirectCast(Me.Controls(WebBrowserIndex),AxSHDocVw. AxWebBrowser).Nav
igate

Placing "option strict on" at the top of your form will help you
avoid this issue in the future.


Thanks.
--
Cheers, ymt.
Apr 3 '06 #3

This discussion thread is closed

Replies have been disabled for this discussion.