問題タブ [double-click]
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# - DataGridView のバインドされたテーブルは、ダブルクリックで 1 つの RowChanged イベントのみを生成します。どうすれば2つにできますか?
DataSource が DataTable である DataGridView があります。この DataTable にはブール列があり、DataGridView のチェックボックスとして解釈されます。
ユーザーがチェックボックスを 1 回クリックすると、チェックボックスがオンになり、selectionTableRowChanged は「Is Selected」を出力します。
同様に、ユーザーが再度チェックすると、ボックスはクリアされ、selectionTableRowChanged は「選択されていません」を出力します。
ここに問題があります:
ユーザーがチェックボックスをダブルクリックすると、チェックボックスがチェックされ、RowChanged イベントが呼び出され (「Is Selected」)、チェックボックスがクリアされ、対応する RowChanged イベントは呼び出されません。現在、RowChanged イベントのサブスクライバーは同期していません。
私の現在の解決策は、DataGridView をサブクラス化し、WndProc をオーバーライドして WM_LBUTTONDBLLICK を食べることです。これにより、コントロールのダブルクリックは無視されます。より良い解決策はありますか?
insert - 解像度をダブルクリックしてダブル挿入しますか?
チーム メンバーが古い社内システムで問題に遭遇しました。ユーザーが Web ページのリンクをダブルクリックすると、ブラウザーから 2 つの要求が送信され、レースで同じレコードが 2 つのデータベースに挿入される可能性があります。調子; 最後に実行したものは主キー違反で失敗します。いくつかのソリューションとハックが提案され、議論されています。
Web ページで Javascript を使用して、最初のクリックでリンクを無効にすることにより、2 回目のクリックを軽減します。これは、問題の発生を減らすための迅速かつ簡単な方法ですが、完全になくすことはできません。
サーバー側でのリクエスト実行をトランザクションにラップします。これは、サーバーの負荷と問題のテーブルのロック レベルが原因で、操作のコストが高すぎると見なされています。
失敗した挿入によってスローされた主キー例外をキャッチし、それを識別して食べます。これには、(a) ベンダー ロックイン、データベース固有の例外のニュアンスを知る必要がある、(b) 正当なデータベース障害のログ記録/対処ができない可能性があるという欠点があります。
挿入が失敗した場合にレコードの更新を試行し、更新の結果をチェックして、影響を受ける 1 つのレコードが返されるようにする #3 の拡張。
考慮されていない他のオプションはありますか?見落とされていた提示されたオプションの長所と短所はありますか? すべての悪の中でどれが小さいですか?
.net - winformsアプリでボタンをダブルクリックするユーザーに対処する最良の方法は?
私は WinForms アプリに取り組んでおり、その中にユーザー コントロールがあります。ユーザー コントロール内のボタンは、他のコードによって処理されるフォームまでのイベントを発生させます。ボタンの 1 つは、同時に実行すると問題を引き起こすいくつかのプロセスを開始します。状態を管理するためのロジックがコードに含まれているため、通常、プロセスが既に実行されている場合、ユーザーはプロセスを実行できません。ただし、ユーザーがボタンをダブルクリックすると、プロセスが 2 回開始されるので、それを防ぐのは困難です。
これを処理する最善の方法は何ですか?
クリックイベントでボタンを無効にすることから始めましたが、最初のクリックでボタンが無効になる前に2番目のクリックが発生しました。コードで他のフラグを設定しても、キャッチされませんでした。
イベントを発生させるコードに何らかの同期ロックを追加することを検討していますが、より良いアイデアがあるかどうか疑問に思っています。
このプロジェクトはほぼ完了しているので、アプリの根本的な書き直し (複合アプリケーション ブロックの実装など) を含まない回答を探していますが、次のプロジェクトで使用できるので、それらのアイデアも自由に投稿してください。 .
apache-flex - Flex で itemDoubleClick イベントを取得できない (doubleClickEnabled=true であっても)
ダブルクリック イベントを使用して Flex で単純なデータグリッドを実行しようとしていますが、起動できませんitemDoubleClick
。
イベントを使用するとitemClicked
、イベントは問題なく発生します。この問題を検索すると、多くの人が「 を設定する必要がありますがdoubleClickEnabled=true
、それを行ってもまだ機能しません。
このコントロールは、VBox およびその他のコンテナーのかなりの数のレベル内にネストされています。確かにdoubleClickEnabled
、これらのコンテナーのそれぞれに設定する必要はありませんか?
これをどのようにテストしたかを明確にするために-refererRowDoubleClicked
イベントハンドラーにアラートボックスがあり、使用すると表示されませんitemDoubleClick
javascript - 外部jsファイルのjavascript document.write
大規模で高負荷のプロジェクトに取り組んでいると、フォーラムやブログですでに数十億のトピックで説明されている問題が発生しましたが、私の場合に役立つ解決策はありません。これが話です。
バナーの HTML コードがありますが、コードがわかりません。プレーンな HTML の場合もありますが、その<script>
中に document.write を含む<script>
タグであり、その中に src to doubleclick network を含むタグがある場合もあります。
つまり、script > document.write > script(doubleclick) です。
ご存知かもしれませんが、doubleclick ネットワークは document.write も使用し、ほとんどの場合、もう 1 つの js ファイルをロードする必要があるフラッシュ バナーを表示します。
結局のところ、script > document.write > script(doubleclick) > document.write > script > ...
これは、HTML に直接配置するとうまく機能します。ページ レンダリング 1 の部分、バナー 1 のロード、ページのレンダリングの維持、バナー 2 のロード、ページ レンダリングの終了。
しかし、今は最初にページをレンダリングする必要があり、その後にバナーをロードする必要があります。バナーは document.write を使用するため、window.onload イベントの前にロードする必要があります (注意: window.onload の後、document.write はドキュメント全体を書き換えます)。
私がやったこと:
head セクションには、プロパティ スコープを持つバナー オブジェクト (実際の名前空間の種類は巨大です :)) があります。
ページのレンダリングとバナー コードが一致したら、バナーのコードをスコープに配置して配置し<div id="bannerPlaceHolder"+id></div>
ます。ここでは、後でバナー コンテンツを配置する必要があります。
ページがレンダリングされ、</body>
タグの前に<script>banners.load()</script>
banners.load メソッドを配置すると、スコープ配列内の各アイテムに対して次のことが行われます。
そして、この後にのみ、これをwindow.onload()
行うイベントがあります:
すべてのバナー codeHolders を取得し、ノードごとに codeHolder から placeHolder にノードを追加するため、ページをレンダリングした後にバナーが読み込まれ、バナーは適切な場所に配置されます。
IE 以外はすべて完璧です。DOM に動的に配置された js スクリプトを非同期でロードするため、doubleclick スクリプト内の document.write は、codeHolder ノードではなく、ドキュメントの最後にノードを追加します。いつものようにIEのみです。
解決策を知っている人には本当に感謝しています。
flash - Flash でのマウスのダブルクリックの検出 (AS2)
ActionScript 2.0 を使用してボタン オブジェクトでのマウスのダブルクリックを検出する方法はありますか?
c# - データファイルからアプリケーションを起動
Word ドキュメントをダブルクリックすると、Word が自動的に実行され、ドキュメントが読み込まれます。
C# アプリケーションで同じことを行うには、どのような手順が必要ですか?
つまり、アプリケーションで「.XYZ」データ ファイルを使用するとします。.XYZ データ ファイルがダブルクリックされたときにアプリケーションを起動するように Windows に指示する方法を知っています。 しかし、ロードできるように選択されたデータ ファイルをアプリケーション内で確認するにはどうすればよいでしょうか。
c# - .NET / C# での TreeView のダブルクリック動作
通常の .NET Windows フォームツリービュー コントロールがあります。ノードは次のようにセットアップされます。
グループ
- -子
- -子
折りたたまれたグループ ノードをダブルクリックすると、(ご想像のとおり) 展開されて NodeMouseDoubleClick イベントが発生し、選択したノードがグループ ノードでない場合にコードが何かを実行します。
グループがツリービューの下部にある場合に問題が発生するため、グループ ノードをダブルクリックすると、ツリービューを垂直方向に展開して子ノードをビューに合わせる必要があります。このような場合、グループ ノードをダブルクリックすると、それが展開されてツリー ビューが調整されるまでに、マウス カーソルが子ノード上にあり (すべてを押し上げる必要がありました)、NodeMouseDoubleClick が子ノードを認識します。が選択されているため、非常に奇妙な動作が発生します。
どうすればこれを回避できますか? NodeMouseDoubleClick または..を使用しないでください。
フィードバック レポートProblem with TreeView DoubleClick event after expand/collapses cause change of scrollにも説明があったようです。
winforms - TreeView は Ctrl+Click でフォーカスを再取得します
現在選択されているノードに基づいて別のフォームを開くために使用したい WinForms TreeView コントロールがあります。ノードを Ctrl キーを押しながらクリックすると、その別のフォームが開きます。
現在、DoubleClick ハンドラーで他のフォームを開くと(そして明らかにノードをダブルクリックすると)、希望どおりに動作します。ただし、Click (または MouseClick) ハンドラーを使用して、Control キーを押したときに他のフォームを開くと、他のフォームは正しく開きますが、元のフォームにフォーカスが戻ります。
他のフォームを開いた後、フォーカスが元のフォームに戻らないようにするにはどうすればよいですか (まだフォームを開いたままにしたいのですが)。Click ハンドラーと DoubleClick ハンドラーの動作が異なるのはなぜですか?
cocoa - CocoaのNSTableView行をダブルクリックしますか?
ユーザーがの行をダブルクリックしたときにウィンドウを開くには、アプリケーションが必要ですNSTableView
。これを達成する方法についての情報や例を見つけるのに少し苦労しています。誰かが私を正しい方向に向けることができますか?