1

私はCheckbox配列を持っています。に入れましたListviewCheckedChangedそれらのイベント ハンドラーを設定します。イベントはCheckedChanged正常に発生し、送信者オブジェクトからコントロールの GUID を取得したいと考えています。GUID を取得するにはどうすればよいですか?

_ckeckBox[i].CheckedChanged += new EventHandler(frmMain_CheckedChanged);

void frmMain_CheckedChanged(object sender, EventArgs e)
{ 

}
4

4 に答える 4

3

コメンテーターが言及したように、sender パラメーターは、どのコントロールがイベントを呼び出しているかを示します。

void frmMain_CheckedChanged(object sender, EventArgs e)
{ 
  CheckBox cb = sender as CheckBox;
  if (cb != null) {
    MessageBox.Show("Checked " + cb.Name);
  }
}
于 2012-12-20T14:51:28.237 に答える
1
 void frmMain_CheckedChanged(object sender, EventArgs e)
        {
            CheckBox chk = (CheckBox)sender;
            if (chk != null && chk.Tag != null && !string.IsNullOrEmpty(chk.Tag.ToString()))
            {
                NodeManager.UpdateNodeActive(chk.Tag.ToString(), chk.Checked);

                _isCheckUncheckQueued = true;
                ProcessQueuedNodeList();
            }
        }
于 2012-12-20T15:07:45.823 に答える
0

Win フォームでプロパティを使用Nameして、どのチェックボックスをオンにするかを決定できます。

于 2012-12-20T14:54:28.903 に答える
0

そのような「コントロールGUID」はありません..

一意の ID を使用して、どちらが呼び出されたかを判断できます。

于 2012-12-20T14:46:09.977 に答える