-1

Visual Studio C# デスクトップ アプリケーションの GUI 自動化に取り組んでいました。そこには DataGridView があり、グリッド内にはコンボ ボックスとチェック ボックスがあります。pywinauto を使用してこれらを自動化しようとしましたが、グリッド レイアウト コントロールのみを取得でき、コントロールを取得できない内部のものしか取得できません

( print _control_identifiers() 、Swapy、AutoIT Window Info、winspyでも試しました..)

デスクトップアプリケーションのpywinautoを使用して、ビジュアルスタジオC#DataGridViewとそのサブコントロールを自動化する方法を誰か教えてください??

4

2 に答える 2

3

簡単に言えば、PyWinAuto を使用して DataGridView のサブコントロールを自動化する良い方法はないということです。

DataGridView からデータを読み取りたい場合 (たとえば、セルのテキスト コンテンツを読み取ったり、チェックボックスがチェックされているかどうかを判断したり)、完全に運が悪いです。DataGridView を制御する場合は、次の 2 つの方法を試すことができます。

  • さまざまな座標オフセットをクリックします。

  • キープレスをそれに送信して、キーボード ナビゲーションを模倣します。

これらは、DataGridView に少量のデータが含まれている場合は機能する可能性がありますが、DataGridView がスクロールバーを必要とし始めると、うまくいきません。さらに、オフセットでのクリックは行と列のサイズに敏感であり、列のサイズを変更できる場合、このアプローチは決して信頼できません。

于 2012-12-31T17:53:25.023 に答える