C#在标签周围画圆圈

C#在标签周围画圆圈,c#,winforms,C#,Winforms,如何在标签周围画一个圆圈 现在我已经试过了: public void drawUseCase(int width, int height, UseCase useCase) { Label lbUseCase = new Label(); Graphics g = lbUseCase.CreateGraphics(); Pen p = new Pen(Color.Black, 1); g.DrawEllipse(p, width, height, 200, 200

如何在标签周围画一个圆圈

现在我已经试过了:

public void drawUseCase(int width, int height, UseCase useCase)
{
    Label lbUseCase = new Label();
    Graphics g = lbUseCase.CreateGraphics();
    Pen p = new Pen(Color.Black, 1);
    g.DrawEllipse(p, width, height, 200, 200);
    lbUseCase.Location = new System.Drawing.Point(width, height);
    lbUseCase.Text = useCase.name;
    mainPanel.Controls.Add(lbUseCase);
}
但这不起作用。有什么想法吗

在winforms中。“它不起作用”我的意思是,只有标签显示,但没有圆圈或其他任何东西

试试这个:

private void Form1_Load(object sender, EventArgs e)
{
    Label Label = new Label();
    Label.Location = new System.Drawing.Point(50, 50);
    Label.Width = 50;
    Label.Height = 50;
    Label.Name = "lblTest";
    Label.Text = "test";
    this.Controls.Add(Label);
}

private void Form1_Paint(object sender, PaintEventArgs e)
{
    var lbl = this.Controls.Find("lblTest",true); // find label with name

    foreach (var item in lbl) 
    // there can be multiple lblTest with same name so I used foreach (this is optional btw you can remove it)
    {
        Label tempLabel = item as Label;
        System.Drawing.SolidBrush myBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Red);
        System.Drawing.Pen myPen = new Pen(myBrush, 2);
        e.Graphics.DrawEllipse(myPen, new System.Drawing.Rectangle(tempLabel.Location.X - (tempLabel.Width / 2),
        tempLabel.Location.Y - (tempLabel.Height / 2)  , tempLabel.Width + 40, tempLabel.Height + 40));
        myBrush.Dispose();
        myPen.Dispose();
    }
}
结果:


希望有帮助。

这里是Windows Phone 7?8, 10? ASP.NET,MVC?表格?“但那不起作用”什么不起作用?怎么不起作用了?你看到了什么意想不到的事情?错误?撞车?@CasparKleijne是的。那就是MVC。。。这段代码清楚地表明这是WinForms…我们都知道Caspar只是在向OP展示他错过了诊断问题的关键信息。询问他们使用的框架只是为了说明缺少了多少。您缺少了winforms中如何进行绘图的整个概念。您可以简单地创建
UserControl
,在这里您可以组合控件(winforms中是否有一个用于绘制线条的控件?)以获得您想要的外观,或者创建自定义控件(例如,请参见),在
Paint
事件中绘制圆圈。不要忘记处理笔刷(
使用
!)为什么要播放动画?你就不能做一个截图吗?对不起,我在阅读的时候觉得有点不安。另外,动画不会带来任何附加值。动画gif总是很酷。无论上下文是什么。动画gif=也证明。我们可以看到构建和运行。