zoukankan      html  css  js  c++  java
  • TabControl 切换 内嵌web页面直接响应滚动事件

    TabControl 切换 内嵌页面直接滚动
     
    事件背景:系统是个winfrom应用程序,程序只有一个主界面。界面中一个TabControl,每个TabPage其实是一个WebBrowser。
    存在的问题:TabControl选择项切换时,每次都要在页面上点击下,才能滚动。
    修复后的效果:不点击直接可以用鼠标滚动页面。
     
    思考经过:
    我首先想到是在页面上获取首个元素,直接激活或者设置焦点。结果没有反映。
    之后我想模拟下点击事件,使用InvokeMember实现body的点击事件后,发现时灵时不灵。
     
    最终在尝试性的设置body焦点竟然成功了!现在将代码记录如下:
     1  private void tabMain_SelectedIndexChanged(object sender, EventArgs e)
     2  {
     3            Control [] controls = tabMain.SelectedTab.Controls.Find("WB_Page"false);
     4            foreach (Control control in controls)
     5            {
     6                var webBrowser = control as WebBrowser;
     7                if (webBrowser != null && webBrowser.Document != null)
     8                {
     9                    HtmlElementCollection elements = webBrowser.Document.GetElementsByTagName("body");
    10                    if (elements != null && elements.Count > 0)
    11                    {
    12                        elements[0].Focus();
    13                        break;
    14                    }
    15                }
    16            }
    17 }
  • 相关阅读:
    python js(JavaScript)初识
    python css盒子型 浮动
    12、液化
    11、高斯模糊—晶格化
    10、形状工具—渐变图标
    9、形状工具—雪糕
    8、形状工具—制作简单立体效果
    7、形状工具
    6、自由变换—再复制功能
    第三章-17、消息聊天界面
  • 原文地址:https://www.cnblogs.com/baoconghui/p/2676935.html
Copyright © 2011-2022 走看看