首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ToolStrip StatusLabel DoubleClick事件不会引发

ToolStrip StatusLabel DoubleClick事件不会引发
EN

Stack Overflow用户
提问于 2016-10-05 08:45:09
回答 1查看 876关注 0票数 4

我在为动态创建的DoubleClick订阅ToolStripStatusLabel事件时遇到了问题。

在我的代码中,我在一个ToolStripStatusLabel中创建了一系列的StatusStrip项,并订阅了它的DoubleClick事件,但是看起来它永远不会上升。

代码语言:javascript
复制
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被正确初始化(状态标签被添加并显示在状态条中),但是当我双击它们时,什么都不会发生:(

我遗漏了什么吗?

谢谢:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-05 08:50:57

应该将这些项的DoubleClickEnabled属性设置为true,然后可以为ToolStripItem处理DoubleClick事件。

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

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39869291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档