【问题标题】:Problem with flash in a webbrowser in a winformwinform中网络浏览器中的flash问题
【发布时间】:2009-05-05 22:51:22
【问题描述】:

我遇到了最奇怪的问题(但不是所有的编程问题都很奇怪吗?)。我有一个包含 webbrowser 对象的 winform,该对象可以打开一个带有 flash 的网站。此 winform 在触摸屏计算机上运行(我找不到品牌或型号)。

这是我所知道的:

  • 通过我的 winform 中的 webbrowser 对象访问的网站中嵌入的 Flash 对象无法正常运行
  • 说 Flash 对象只会对第一次“点击”它们做出反应。所以网站打开了,如果我点击一个按钮,那个按钮就可以工作,但之后在 flash 对象中没有任何工作。如果我的第一次“点击”错过了一个按钮,那么之后就没有任何效果了。
  • 尝试“点击”一个 Flash 按钮会得到与将鼠标悬停在按钮上相同的响应
  • 这不是触摸屏的触摸部分的问题,因为使用鼠标也会给出相同的无法正常工作的响应
  • 这不是网页的问题,因为我可以在同一台计算机上打开资源管理器并从那里很好地浏览网页
  • 该程序在我的个人计算机上也可以 100% 正常运行,所以它不应该是程序的错
  • 如果不是触摸屏故障,也不是程序故障,我现在不能责怪任何事情。
  • EXACT 相同的程序在我们的旧触摸屏上 100% 运行(存在其他问题,因此我们不得不摆脱它)。
  • 哦,另外,在 winform 的网络浏览器中浏览“正常”网页也可以。

【问题讨论】:

    标签: .net winforms flash webbrowser-control


    【解决方案1】:

    我们遇到了类似的错误,唯一的解决方案是确保在客户端计算机上至少安装了 .NET 2.0 的服务包 1。

    【讨论】:

      【解决方案2】:

      我在开发 Windows 应用程序时也遇到了同样的问题。
      创建一个用户定义的控件如下:

      // CREATE A CLASS AND INHERITS TO WEBBROWSER CLASS
      public partial class ucWebBrowser : WebBrowser
      {
           public ucWebBrowser()
           {
              InitializeComponent();
           }
      
           protected override void WndProc(ref Message m)
           {
               switch (m.Msg)
               {
                  case 0x021:
                  case 0x201:
                  case 0x204:
                  case 0x207:
                      base.DefWndProc(ref m);
                  return;
              }
              base.WndProc(ref m);
          }
      }
      

      现在您可以在工具箱列表中看到此控件。现在单击并将此控件拖到您的 winform 上,而不是 webbrowser 控件上。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-11
        • 2018-03-17
        • 2023-01-29
        • 2013-09-05
        • 1970-01-01
        • 2012-10-30
        • 1970-01-01
        • 2016-01-27
        相关资源
        最近更新 更多