gpt4 book ai didi

c# - ToolStrip StatusLabel DoubleClick 事件不会引发

转载 作者:行者123 更新时间:2023-12-02 09:18:28 25 4
gpt4 key购买 nike

我在订阅动态创建的 ToolStripStatusLabelDoubleClick 事件时遇到问题。

在我的代码中,我在 StatusStrip 内创建了一系列 ToolStripStatusLabel 项,并订阅其 DoubleClick 事件,但看起来像它永不升起

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 已正确初始化(状态标签已添加并显示在状态条中),但是当我双击它们时,没有任何反应:(

我有什么遗漏吗?

谢谢:)

最佳答案

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

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

关于c# - ToolStrip StatusLabel DoubleClick 事件不会引发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39869291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com