問題タブ [eventhandler]
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# - DGV DataBindingComplete は、可視化されると起動します
親タブが最初にDGV
表示されるタブではなく、タブコントロールにあります(つまり、TabPage1が表示されたTabPage2のdgv)。
グリッドのデータ ソースはフォームの読み込み時に読み込まれ、割り当てられます。データ バインディングが完了したら、新しい列を追加し、ヘッダー セルのクリックにイベント ハンドラーを割り当てます。これまでのところすべて問題ありません。
しかし、タブを変更してDGV
可視データ バインディングを 2 回目に完全に起動させると、この段階でイベント ハンドラーが失われます。イベントが 2 回目に発生する原因は何ですか?
イベント ハンドラーが失われた原因は何ですか? これを回避する方法はありますか?
ありがとう
編集:
原因は、列が基になる型に戻っているようです。つまり、DataBindingComplete で、DataGridViewTextBoxColumn から継承する列 DGVTextColumn を追加します。2 回目に DataBindingComplete が列を起動すると、継承された型 DGVTextColumn ではなく、DataGridViewTextBoxColumn 型になります。 ?
重要な要素は、バインドされている列、空のフォームを取得してそれにタブ コントロールを追加すること、tabpage2 に a を配置することdatagridview
、tabpage1 に戻ること、フォーム コードの下部にあるコードを貼り付けることです。
再現するコード:
クラス終了
wpf - PreviewMouseLeftButtonDownEvent の Handled プロパティが ClickEvent に影響するのはなぜですか?
ボタンに ClickEvent- および PreviewMouseLeftButtonDown-Handler を追加することを検討してください
ボタンをクリックすると、最初に PreviewMouseLeftButtonDown が発生し、次に Click-Event が発生します。
Preview...-Event で設定e.Handled = true
すると、Click-Event は処理されなくなります。
しかし、今度は MouseLeftButtonDownEvent について考えてみましょう。
まず、このイベントのルーティング戦略は直接的です。つまり、コントロールごとに再発生します。対照的に、Preview...-Event はトンネリングで、Click-Event はバブリングです。
次に、MouseLeftButtonDownEventHandler の追加は、次のコードの抜粋に示すように、既に処理されたイベントに対しても呼び出されるようにハンドラーを登録する場合にのみ成功します。
ボタンを持つテスト アプリケーションを作成し、各イベントのハンドラーを追加しました。イベント ハンドラーが呼び出されると、いくつかの情報がテキスト ブロックに書き込まれます。
- ボタンをクリックすると、3 つのイベント ハンドラーがすべて呼び出されます。
e.Handled = true
Preview...-EventHandlerに追加すると、このイベント ハンドラーのみが呼び出されます。trueに設定しましたが、Mouse...-EventHandler も発生しませんUIElement.AddHandler handledEventsToo
。- Mouse...-EventHandlerに追加
e.Handled = true
すると、3 つのイベント ハンドラーがすべて呼び出されます。
それは私には意味がありません。Mouse...-EventHandlers は Click-EventHandlers には影響しませんが、Preview...-EventHandlers は Mouse...- と Click-EventHandlers の両方に影響します。
そして、イベントを処理するための「強制」でさえ、Mouse...-EventHandler では失敗しました。
実際、異なるタイプのイベント ハンドラーが互いに影響を与える可能性があるとは考えもしませんでした。私が理解したのは、Preview...-Event と Click-Event がある場合、これらは独立しているということです。
それで、私は何が欠けていますか?
非常に単純なサンプルコードは次のとおりです。
XAML:
コード ビハインド:
c# - C#の異なるプロジェクトで実行時にイベントをフックする
ソリューション内に ProjectA と ProjectB の 2 つの異なるプロジェクトがあります。
プロジェクト B ProjectA のあるクラスでクリック イベントがフックされるボタンを持つフォームが含まれています。
このイベントを設定するには、プロジェクト B のフォーム内にハンドラーがあります。
Project AIには、上記のメソッドを処理するメソッドがあります。プロジェクトA内で私は上記のように設定しています
プロジェクト B のフォームからプロジェクト A にいくつかのイベント引数を渡したくないのですが、可能ですか?
wpf - 奇妙な WPF クロススレッドの問題
私はこれを修正する方法を知っていると思いますが、誰かが私が実装しようとしているものよりも良いアイデアを持っている場合はお知らせください.
別のスレッドから UI スレッドのコントロールのプロパティにアクセスしようとすると呼び出しが必要になることは承知していますが、古い " The calling thread cannot access this object because a different thread owns it.
" エラーが発生するイベントの問題に遭遇しました。
今、私はUIスレッドでイベントが発生するという印象を受けていたので、この種のクロススレッド例外の問題はないはずです...これが私のXMLです:
関連するキーダウン イベントのコードは次のとおりです。
とにかく、invoke を使用して文字列を取得します。
なぜこのイベント ハンドラーでこの例外が発生するのか、私はまだ混乱しています。この状況を処理するためのより良い方法があるかどうかを確認することにしました。
java - コンボボックス項目を 2 回 (連続して) 選択する
私はJavaが初めてなので、コードが悪い場合は事前にお詫び申し上げます。
リスナー付きのコンボボックスがあります
ユーザーがコンボボックスから項目を選択すると、この項目のテキストがテキスト領域に表示されます。ユーザーは、必要な機能であるテキスト領域でこのテキストを変更できます。ただし、ユーザーが元のテキストに戻りたい場合は、コンボボックスで同じアイテムを再度選択しますが、このアイテムは既に選択されているため、何も起こりません。
どんなアイデアでも大歓迎です。
ありがとう
c# - Xamarin IOS でイベント ハンドラーに引数を渡す方法
文字列引数を EventHandler に渡すには?
ViewController(A) 書き込みイベント ハンドラ
ビューコントローラー(B)
javascript - JavaScript で Library の EventHandler と "this" 修飾子を使用する
ここでの例は、ブラウザで websocket を使用することです。WebsocketのwsライブラリでNodejsを使用した場合も同じことが起こりました。
クラスの外にすべてを書くと、すべてのハンドラが呼び出されます: EG:
ただし、クラスでインスタンス化する場合、ハンドラーは呼び出されません
それで、すべてをグローバルに配置するという厄介な方法でそれをしなければならないということですか?
質問に追加するには
================================================== =============== 追加: