如何创建可点击标签

本文关键字:标签 创建 何创建 | 更新日期: 2023-09-27 18:21:23

我想在我的表单应用程序中创建一个随机可点击的标签。我随机生成了一个标签,但我无法点击它。有人能帮我吗?

如何创建可点击标签

您可以像往常一样挂接到Click事件:

using System.Windows.Forms;
class Test
{   
    static void Main()
    {
        Label label = new Label { Text = "Click me" };
        label.Click += delegate { label.Text = "Clicked"; };
        Application.Run(new Form { Controls = { label } });
    }
}

不过这有点奇怪——标签显然是不可点击的。

Jon Skeet提供了一个关于如何动态添加标签的极好答案,因此我将添加随机组件。
using System.Windows.Forms;
class Program
{
    private static Random Random = new Random();
    static void Main()
    {
        var label = new Label { Text = "Click me!" };
        label.Click += delegate { RandomizeLocation(label); };
        EventHandler Load = delegate {
            RandomizeLocation(label);
        };
        var form = new Form { Controls = { label } };
        form.Load += Load;
        Application.Run(form);
    }
    private static void RandomizeLocation(Control control)
    {
        var maxWidth = control.Parent.Width - control.Width;
        var maxHeight = control.Parent.Height - control.Height;
        var x = Random.Next(maxWidth);
        var y = Random.Next(maxHeight);
        control.Location = new Point(x, y);
    }
}