C# ToolStrip StatusLabel双击事件不发生';提不起

C# ToolStrip StatusLabel双击事件不发生';提不起,c#,.net,winforms,events,toolstrip,C#,.net,Winforms,Events,Toolstrip,订阅动态创建的ToolStripStatusLabel的双击事件时遇到问题 在我的代码中,我在一个StatusStrip中创建了一系列ToolStripStatusLabel项,并订阅了它的双击事件,但它看起来好像从未出现过 private void InitStatusBar() { foreach (CardReader cardReader in appConfig.CardReadersList) { System.Windows.Forms.ToolSt

订阅动态创建的
ToolStripStatusLabel
双击事件时遇到问题

在我的代码中,我在一个
StatusStrip
中创建了一系列
ToolStripStatusLabel
项,并订阅了它的
双击事件,但它看起来好像从未出现过

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);

}
StatusStrip
已正确初始化(状态标签已添加并显示在状态条中),但当我双击它们时,什么也没有发生:(

有什么我遗漏的吗

谢谢:)

您应该将这些项目的属性设置为
true
,然后您可以处理
ToolStripItem
双击事件


ToolStripItem
在其自身的内部方法中处理双击。在该方法中,它检查
DoubleClickEnabled
属性,并根据鼠标向上移动和最后一次单击之间的滴答声,决定是否引发双击事件。

是否在代码中设置断点以查看处理程序是否正在运行?您可能在初始化组件()之前调用InitStatusBar()?谢谢!就是这样!:)