Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. event not picked up by form

event not picked up by form

Scheduled Pinned Locked Moved C#
helpquestion
3 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Offline
    R Offline
    RomanD
    wrote on last edited by
    #1

    my program is very simple. When you press spacebar it shows next file in directory in webBroser control that fills my whole form. The problem is when I click on the web form or the menu or another window and then comeback and hit spacebar, it doesn't work. I was thinking it lost focus, but after I set focus back to the form it still didn't pick up the event. Also, how would I set my Form Width to that of the webpage or picture being displayed in the webBroswer control? Thanks

    H 1 Reply Last reply
    0
    • R RomanD

      my program is very simple. When you press spacebar it shows next file in directory in webBroser control that fills my whole form. The problem is when I click on the web form or the menu or another window and then comeback and hit spacebar, it doesn't work. I was thinking it lost focus, but after I set focus back to the form it still didn't pick up the event. Also, how would I set my Form Width to that of the webpage or picture being displayed in the webBroswer control? Thanks

      H Offline
      H Offline
      Heath Stewart
      wrote on last edited by
      #2

      The WebBrowser control is an ActiveX control and dispatches messages in its own thread, i.e. .NET will not respond to notification messages for that ActiveX control. If you set the focus back to the Form by clicking in a TextBox or a Button or something, then it actually has the focus and will process the key down and up messages. To combat this, set Form.KeyPreview to true. This will handle certain notification messages (which the .NET FCL assemblies translate to events) before the control with the focus. This will still not help when the WebBrowser control has the focus. As far as your last question goes, this really isn't possible. The width of a page or an image displayed in the WebBrowser control doesn't set the size of the WebBrowser control. Rather, the WebBrowser control sets the size. Now, script in the page can set the size of the WebBrowser control (depending on security settings). You can declare the IDocHostUIHandler and override the ResizeBorder in order for your Form (the hosting control) to resize itself if script resizes the Window. See the article Using MSHTML Advanced Hosting Interfaces[^] for more details on this.

      Microsoft MVP, Visual C# My Articles

      R 1 Reply Last reply
      0
      • H Heath Stewart

        The WebBrowser control is an ActiveX control and dispatches messages in its own thread, i.e. .NET will not respond to notification messages for that ActiveX control. If you set the focus back to the Form by clicking in a TextBox or a Button or something, then it actually has the focus and will process the key down and up messages. To combat this, set Form.KeyPreview to true. This will handle certain notification messages (which the .NET FCL assemblies translate to events) before the control with the focus. This will still not help when the WebBrowser control has the focus. As far as your last question goes, this really isn't possible. The width of a page or an image displayed in the WebBrowser control doesn't set the size of the WebBrowser control. Rather, the WebBrowser control sets the size. Now, script in the page can set the size of the WebBrowser control (depending on security settings). You can declare the IDocHostUIHandler and override the ResizeBorder in order for your Form (the hosting control) to resize itself if script resizes the Window. See the article Using MSHTML Advanced Hosting Interfaces[^] for more details on this.

        Microsoft MVP, Visual C# My Articles

        R Offline
        R Offline
        RomanD
        wrote on last edited by
        #3

        Thanks a lot

        1 Reply Last reply
        0
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • World
        • Users
        • Groups