-1

次のコードを実行しています:

grid.Invoke(New MethodInvoker(AddressOf RefreshDataSource))

InvalidOperationException例外を取得しています。

メッセージ: ウィンドウ ハンドルが作成されるまで、Invoke または BeginInvoke をコントロールで呼び出すことはできません。

スタックトレース:

   at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
   at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
   at System.Windows.Forms.Control.Invoke(Delegate method)
   at DataForm.BindData() in D:\Proj\DataForm.vb:line 380
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(RuntimeMethodHandle md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)
4

3 に答える 3

0

呼び出しを load イベントから form.shown イベントに変更して、コントロールが最初に作成されるようにします。

于 2013-05-14T10:13:56.633 に答える