【发布时间】: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