设置 ToolStripStatusLabel 对象上的光标类型

Setting the type of cursor on a ToolStripStatusLabel object

我的表单底部有一个 StatusStrip 对象,其中添加了一个 ToolStripStatusLabel 对象。我想更改鼠标悬停时显示的鼠标光标类型。

我怎样才能做到这一点?

将以下代码添加到您的表单中。然后在设计器中,将MouseEnter的事件处理程序设置为SetHandCursor,将MouseLeave的事件处理程序设置为SetDefaultCursor。

private void SetHandCursor(object sender, EventArgs e)
{
    Cursor = Cursors.Hand;
}

private void SetDefaultCursor(object sender, EventArgs e)
{
    Cursor = Cursors.Default;
}

ToolStripStatusLabel 对象没有 Cursor 属性。为了更改显示的光标,您必须在 运行 时间设置 StatusStrip.Cursor 属性。

使用标签的 MouseEnter 和 MouseLeave 事件更改 StatusStrip.Cursor 属性。

作为替代方案,您可以在 ToolStripControlHost 中托管一个 Label 并将其添加到 StatusStrip。这样您就可以设置所有 Label 属性,包括 Cursor。它将像其他标准物品一样工作。

var item = new ToolStripControlHost(new Label {Text= "Some Text", Cursor= Cursors.Hand});
this.statusStrip1.Items.Add(item);