問題タブ [invokerequired]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - backgroundworker からのコントロールの呼び出しがエラーなしで停止する
BackgroundWorker
を更新すると思われる を実行していますUserControl
。プロパティを確認した後、呼び出しを試みましたInvokeRequired
:
RichTextBox
また、内部をUserControl
直接呼び出そうとしました:
しかし、コードをデバッグすると、残りのコードの実行がエラーなしで停止するだけです。
_ucResultRich.InvokeRequired
と_ucResultRich.rchResult.InvokeRequired
returnの両方true
。
ここで何か間違ったことをしていますか?
アップデート
Invoke
パーツを挿入するtry catch
と、例外メッセージから次のエラーが表示されます。
コントロールを決定できないからですか?のように表示されControl ''
ます。
c# - Delegate.Target の .Invoke メソッドを呼び出すにはどうすればよいですか?
次のメソッドを考えると:
e
プロパティ Target があることに気付きました。
さらに調べてみると、または かどうe.Target is System.Windows.Controls.Control
かを確認できることがわかりe.Target is System.Windows.Forms.Control
ました。
この拡張機能を使用する場合、便宜上 (そして私は怠け者です)、デリゲート ターゲットがデリゲートを呼び出す必要があるかどうかを判断できるようにしたいので、これは素晴らしいことです (WinForms の場合: Control.Invoke( foo )
; WPFの場合:) Control.Dispatcher.Invoke( foo )
。
オブジェクトを実際の型にキャストする方法を知る必要はありません (それがなくても生きられます)。InvokeRequired
プロパティとInvoke
メソッドにアクセスできるようにオブジェクトをキャストする方法を知る必要があるだけです ( WinForms コントロールの場合)、またはDispatcher
プロパティ (Dispatcher.CheckAccess( )
関数とDispatcher.Invoke( )
メソッドへのアクセス用)。
これは可能ですか?どうすればこれを行うことができますか?(e.Target をキャストしようとしましたSystem.Windows.Control.Control
が、結果にはプロパティがありませんDispatcher
)。
編集
キャストコード(およびインポート/参照)のリクエストに従って:
それが WPF コントロールかどうかを判断するには:
WinForms コントロールかどうかを判断するには:
プロジェクトはいくつかのライブラリを参照しています:
vb.net - 別のスレッドを介してリッチテキストボックスにアクセスする方法
皆さん、私の質問は、スレッド内のリッチテキストボックスにアクセス (更新/読み取り) するにはどうすればよいかということです。私がやっていることを理解できるように、非常に単純なコードを作成しました。インボーク、デリゲート、またはバックグラウンドワーカーについて言及されているインターネット上の記事をいくつか検索しました。誰かが来て、どれをどのように使用するか教えてくれることを願っています。本当にありがとう。
クラス終了
c# - 別のスレッドをバイパスするために自己を呼び出しますか? C#
私は約 3 時間見回しており、この呼び出しを機能させることができません。それを呼び出すものは別のスレッドにあり、不安定であると言っているので、呼び出しが必要です。
これが私が呼んでいるものです(私はこのように呼んでいますtextBox1_TextChanged(null, null);
):
c# - コントロール内で呼び出す必要がありますか?
JS ライブラリをラップし、Web ブラウザ コントロールを拡張する Winforms コントロールを作成しています。
次のように JavaScript 関数を呼び出しています。
このメソッドは、公開されているすべてのメソッドを呼び出すために使用され、name
パラメーターに基づいて JS 関数を呼び出します。
それを行う必要がありますか、それともメソッドのユーザーが適切なスレッドで呼び出しを行うことを期待する必要がありますか?
unit-testing - 望んでいるが呼び出していない: Mockito テスト
私は問題があります。なぜmockitoが例外になるのかわかりません。RecordWriter は Record をファイルに書き込みます。書いているかどうかを確認したい。別の関数を実装して、mock(OutputStream.class) を試みましたが、結果は同じです。私の現在のテストは次のとおりです。
例外は次のとおりです。
ありがとうございます。