0


0

変数を割り当てるために使用された関数を見つける(割り当てられた変数を介して)

コントロールの四角形を受け入れる1つの関数* GetControlRectangle(Rectangle MethodRect) *があります。

  • Rectangle rct = dataGridView1.GetCellDisplayRectangle(1,0、false); _ のようなコードを記述して、 _ datagridview1 *のcell(1,0)の位置を見つけます。

そして、この* rct をメソッド GetControlRectangle *に渡します。

  • GetCellDisplayRectangle() または GetColumnDisplayRectangle() のようなこの長方形ポイントを取得するために使用された関数を MethodRect (メソッドの引数)で見つける方法。 メソッド GetControlRectangle() で、このポイントが columnheader または cell *であり、それがcell thenでどのセルであるかを知りたいためです。

つまり、* _ Rectangle rct = dataGridView1.GetCellDisplayRectangle(1,0、false); _ * rctのように割り当てられた変数を通じてどの関数が使用されたかを知りたいです。この変数を割り当てるためにどの関数が使用されたかを知りたいです。

2 Answer


1


  • I *が正しく理解できたら、彼は `GetControlRectangle(Rectangle MethodRect)`関数を修正して、 `GetControlRectangle(Rectangle MethodRect、bool IsHeader)`のようにし、呼び出し元のコードで「どの関数が呼び出されたか」を決定する必要があります「。


0


正しく理解できたら、* rct をゲッター/セッターのペアに変換する必要があります。 セッターで、新しいSystem.Diagnostics.StackTrace()を作成します(読み取り可能な表現を取得するには、ToString()メソッドを呼び出すだけです)。 呼び出しスタック、この場合は rct *の新しい値を設定している関数が含まれます。

次のようなもの(例外をより適切な処理に置き換えます):

Rectangle _rct=null;
Rectangle rct {
  get { return _rct; }
  set {
    throw new Exception(new System.Diagnostics.StackTrace().ToString());
    //_rct=value;
  }
}