Shahzad Salim
Posts: 9
Joined: 2008-10-30
|
Hi,
I have to show an HTML page in the sidebar. I am using the WebBrowser class. I am using IE 7.
It works perfectly for the first tab (the default tab which opens up when you fire up IE). What I want to do is show the same Webbrowser control when they open the second tab. So not to reload the HTML page again but display the exact same Webbrowser control which is on the first tab. When i try to put the Webbrowser instance in the GlobalData class and try to access it for the second IE tab it throws an error
"Controls created on one thread cannot be parented to a control on a different thread".
So seems like each IE tab creates new thread for the sidebar.. Is there a way to share the control between the two threads? Please HELP!
thanks |
|
Eugene Astafiev
Guest
|
Hi Shahzad,
There is no way to share the control. Instead, you can save the state and data of the WebBrowser control in the GlobalData class. |
|
Shahzad Salim
Posts: 9
Joined: 2008-10-30
|
Thanks Eugene.
In the case where I will need to keep the data (of the webbrowser) in sync between all the tabs how do I do the following
1) Which event do i need to capture to figure out that user opened a new IE tab?
2) How can I get the url of page of whichever tab the user is on?
3) When the user is on the second tab and he makes some changes which require me to refresh the data (in the webbrowser) on the first tab. How do I do that?
Thank You once again for you patience Eugene.
|
|
Eugene Astafiev
Guest
|
Hello Shahzad,
1. See the OnTabCreated event of the add-on module.
2. and 3. You can use the SendMessage method (or the SendMessageToAll method) to notify other tabs or retrieve some information. |
|