동적으로 생성 된 ToolStripStatusLabel
에 대해 DoubleClick
이벤트를 구독하는 데 문제가 있습니다. 내 코드에서ToolStrip StatusLabel DoubleClick 이벤트가 발생하지 않습니다.
나는 StatusStrip
내부 ToolStripStatusLabel
일련의 항목을 만들고, 그 DoubleClick
이벤트에 가입하지만 결코 StatusStrip
가 제대로 초기화됩니다
private void InitStatusBar()
{
foreach (CardReader cardReader in appConfig.CardReadersList)
{
System.Windows.Forms.ToolStripStatusLabel cardReaderStatusLabel = new ToolStripStatusLabel();
cardReaderStatusLabel.Name = cardReader.Description;
cardReaderStatusLabel.Tag = cardReader;
cardReaderStatusLabel.Text = cardReader.Description.ToUpper();
cardReaderStatusLabel.Image = cardReader.DeviceInfo.GetIconImage();
cardReaderStatusLabel.DoubleClick += new System.EventHandler(this.cardReaderStatusLabel_DoubleClick);
this.statusStripBottom.Items.Add(cardReaderStatusLabel);
this.statusStripBottom.Refresh();
}
}
private void cardReaderStatusLabel_DoubleClick(object sender, EventArgs e)
{
ToolStripStatusLabel clickedToolStripLabel = (ToolStripStatusLabel)sender;
CardReader taggedCardReader = (CardReader)clickedToolStripLabel.Tag;
MessageBox.Show("Lector: " + taggedCardReader.Description + Environment.NewLine + "Status: " + taggedCardReader.DeviceInfo.CardReaderStatusString);
}
상승없는 것 같습니다 (상태 레이블이 추가됩니다 및 상태 스트립 참조)하지만 난 그들에 더블 클릭 할 때 아무 일도 발생하지 않습니다 :(
은 내가 부족 뭔가가 있나요?
감사합니다 :)
코드에 중단 점을 넣어 처리기가 실행 중인지 확인 했습니까? – Enigmativity
InitializeComponent() 전에 InitStatusBar()를 호출하고 있습니까? – Dominik