1

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

这是我所知道的:

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

2 回答 2

1

我在开发 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 控件上。

于 2010-05-01T07:15:51.680 回答
1

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

于 2010-02-19T21:01:44.747 回答