2

MS Excel 用の単純なアドインを作成しましたが、カスタム タスク パネルに問題があります。

カスタム タスク ペイン コントロールは WPF で記述されていますが、ユーザーが以前にマウスで選択した CTP のテキスト ボックス フィールドにデータを入力しようとすると、Excel はフォーカスを固定し、選択したセルに戻します。

この動作を防ぐことはできますか?

ユーザーが適用する必要がある解決策は、キーボードの「Esc」ボタンを押すことです。これにより、CTP で入力コントロールを再度選択して書き込むことができます。

コンテキスト メニューを持つコントロールでも同じことが起こります。ユーザーがマウスの右ボタンでコントロールをクリックすると、コンテキスト メニューがすぐに表示され、フォーカスが Excel ワークシートに戻ります。

ユーザーが一部のセルをアクティブに編集している場合、編集を終了する前に CTP のどちらのコントロールも選択できませんが、リボン ボタンにアクセスできます。

該当する場合は、既存のソリューションを教えてください。

4

1 に答える 1

0

@beaver - いずれかのペイン ウィンドウですべてのコントロールが無効になっている場合、Excel は秘密裏にフォーカスを盗みます。ALTキーが押されてしまいます。この状況を改善するには; ALT次にESCキーを押します。

クラスで..

Using System.Windows.Forms;

....
コントロールがフォーカスされていない手順の後

SendKeys.Send("%");
SendKeys.SendWait("{ESC}");

[オプションですが、パフォーマンスを向上させるために強くお勧めします]
....
App.config で

<configuration>
  <appSettings>
    <add key="SendKeys" value="SendInput"/>
  </appSettings>
...

于 2016-10-03T21:06:01.857 に答える