所以我的WinForms应用程序带有StatusStrip。在此StatusTrip中,有一个StatusLabel(它不是默认的Label,因为某些原因它不受支持)。

现在,当我设置StatusLabel.IsLink = true;时,您将得到一个手形光标(很棒!)。但是现在,如果您执行StatusLabel.Visible = false;,则整个StatusStrip上现在都具有手形光标。再次显示StatusLabel并不能解决。

对我来说,这似乎是.NET或C#错误。

我的问题是:对此没有任何解决方法,我不知道吗?是通过修复此手形光标错误还是在Label内放置真实的StatusStrip?我发现在将MessageBox置于标签不可见之前的情况下,这并没有发生此奇怪的错误。

您可以下载测试解决方案here。在Main.cs文件中,您可以取消注释MessageBox所在的行。自己尝试。

最佳答案

您可以尝试将StatusStrip的游标设置回默认值

private void toolStripStatusLabel1_Click(object sender, EventArgs e)
{
    // UNCOMMENT THE LINE BELOW TO "FIX" IT

    //MessageBox.Show("It's not doing the bug when showing this message.");
    toolStripStatusLabel1.Visible = false;
    statusStrip1.Cursor = Cursors.Default;
}

08-18 21:54