根据 Microsoft 在 Windows 窗体中开始使用 webView2(截至 2021 年 3 月 9 日),我得到了以下代码(未设置 webView2.source;从 Form.Designer.cs 中编辑):
public Form1() {
InitializeComponent();
InitializeAsync();
}
async void InitializeAsync() {
Console.WriteLine("InitializeAsync starting");
await webView2.EnsureCoreWebView2Async(null);
Console.WriteLine("InitializeAsync done");
}
private void Form1_Load(object sender, EventArgs e) {
Console.WriteLine("Load event");
}
private void webView2_CoreWebView2InitializationCompleted(object sender, CoreWebView2InitializationCompletedEventArgs e) {
Console.WriteLine("CoreWebView2InitializationCompleted event");
if ((webView2 == null) || (webView2.CoreWebView2 == null))
Console.WriteLine("not ready");
webView2.NavigateToString(File.ReadAllText("index.html"));
}
Run Code Online (Sandbox Code Playgroud)
我很惊讶在 NavigateToString() 处遇到异常:
System.InvalidOperationException
HResult=0x80131509
Message=The instance of CoreWebView2 is uninitialized and unable to complete this operation. …Run Code Online (Sandbox Code Playgroud)