在 ToolStripStatusLabel 对象上设置光标的类型

本文关键字:置光标 类型 ToolStripStatusLabel 对象 | 更新日期: 2023-09-27 17:56:42

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

我怎样才能做到这一点?

在 ToolStripStatusLabel 对象上设置光标的类型

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

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

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