【问题标题】:WebBrowser Control (.NET 2.0) text boxes don't accept keyboard inputWebBrowser Control (.NET 2.0) 文本框不接受键盘输入
【发布时间】:2011-02-19 00:50:48
【问题描述】:

我拥有的 WebBrowser 控件正在弹出并正确显示 URL,但由于某种原因,我无法在文本字段中输入任何内容。我可以单击文本字段并赋予它们焦点,我可以将文本粘贴到文本字段中,但我不能用键盘输入它们。无论我输入什么 URL,都会发生这种情况。

我将 AllowWebBrowserDrop 设置为 false,但除此之外,WebBrowser 控件及其所在表单的所有设置都是标准的。

使用 WebBrowser 的非常相似的代码在 .NET 3.5 中运行良好,但我依赖的 API 仍然只是 .NET 2.0。另外,这似乎是一些非常基本的功能,有人会注意到它不起作用。

这是包含 WebBrowser 的表单的构造函数:

public partial class LoginWindow : Form
{
    Main mainPlugin;
    public LoginWindow(string loginurl, Main plugin)
    {
        this.mainPlugin = plugin;
        try
        {

            //Debug.WriteLine(loginurl);
            InitializeComponent();
            webBrowser1.AllowWebBrowserDrop = false;
            webBrowser1.Url = new Uri(loginurl);
        }
        catch (Exception ex)
        {
            //Globals.ThisAddIn.ul.writeExceptionInfo(ex);
            MessageBox.Show("Error creating the browser. (LB_01) \n \n " + ex.GetType().ToString() + "\n\n" + ex.ToString(), "Error");
        }
    }

有什么想法吗?

【问题讨论】:

  • .NET 2.0 API?那可能是什么?为什么它不能在 .NET 3.5 上运行?你真的卸载了 3.5 只在机器上留下了 2.0 吗?
  • 这是一个自定义 API,用于为 Windows Live 邮件 v9 启用插件开发。我的机器上有两个 API;我只需要链接2.0版本的.NET,否则我的项目编译失败。
  • 使用 .NET 3.5 没有区别。 .NET 3.5 是 .NET 2.0 的超集。 System.Windows.Forms.dll 没有 .NET 3.5 版本。

标签: c# .net winforms webbrowser-control


【解决方案1】:

结果证明这与 .NET 2.0 中的一个错误有关。从那以后,我开始使用基于 .NET 3.5 版的库,没有任何问题。

【讨论】:

    【解决方案2】:

    不确定问题出在哪里,但也许您可以将 on-keypress 事件添加到 webbrowser 控件,然后将该文本重定向到焦点文本框。

    【讨论】:

    • @user623879:Web 浏览器控件没有按键事件。
    • @Anuraj: Oh yea, really?
    • @abatishchev:是的msdn.microsoft.com/en-us/library/…。 WebBrowser 控件也是从 WebBrowserBase 继承的,而不是从 Control 类继承的。
    • @Anuraj:而TextBox 派生自TextBoxBase,但TextBoxBaseWebBrowserBase 均派生自Control,并继承Control 的所有成员。但是WebBrowserBase 隐藏 KeyPress 事件与[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)],大概是因为WebBrowser 控件是IEFrame ActiveX 控件的包装器,它本身不暴露任何类型的OnKeyPress 事件。
    猜你喜欢
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多