我有XNA游戏,打开一个包含webBrowser的窗口窗体。在XNA项目中打开webBrowser?
每次我打开它让我看到下面的错误形式:
System.Threading.ThreadStateException was unhandled
Message=ActiveX control '8856f961-340a-11d0-a96b-00c04fd705a2' cannot be instantiated because the current thread is not in a single-threaded apartment.
Source=System.Windows.Forms
StackTrace:
at System.Windows.Forms.WebBrowserBase..ctor(String clsidString)
at System.Windows.Forms.WebBrowser..ctor()
at GameOfLifeV2._0.Help.InitializeComponent() in C:\Users\Gilad\Documents\C# projects\GameOfLifeV2.0\GameOfLifeV2.0\GameOfLifeV2.0\Help.Designer.cs:line 33
at GameOfLifeV2._0.Help..ctor() in C:\Users\Gilad\Documents\C# projects\GameOfLifeV2.0\GameOfLifeV2.0\GameOfLifeV2.0\Help.cs:line 17
at GameOfLifeV2._0.Game.RespondKeyboard(KeyboardState state) in C:\Users\Gilad\Documents\C# projects\GameOfLifeV2.0\GameOfLifeV2.0\GameOfLifeV2.0\Game.cs:line 111
at GameOfLifeV2._0.Game.Update(GameTime gameTime) in C:\Users\Gilad\Documents\C# projects\GameOfLifeV2.0\GameOfLifeV2.0\GameOfLifeV2.0\Game.cs:line 68
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e)
at Microsoft.Xna.Framework.GameHost.OnIdle()
at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Microsoft.Xna.Framework.WindowsGameHost.Run()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at Microsoft.Xna.Framework.Game.Run()
at GameOfLifeV2._0.Program.Main(String[] args) in C:\Users\Gilad\Documents\C# projects\GameOfLifeV2.0\GameOfLifeV2.0\GameOfLifeV2.0\Program.cs:line 15
InnerException:
以下行
:
this.InfoBrowsersd = new System.Windows.Forms.WebBrowser();
解决方案将受到欢迎:)
替代问题: 有没有更好的方法来显示帮助文档,然后创建HTML文件并在webBrowser控件中显示它们?
我需要将浏览器植入程序中。 – 2011-01-13 20:33:50
哦,好吧,我用另一个建议更新了我的答案。我没有机会尝试它,但似乎像这样的事情可能会起作用。 – 2011-01-13 20:46:25