我有一个使用透明背景的表单,这样我就可以在屏幕上显示文本而不隐藏其他应用程序。
基本上我有一个 Form 的实例,我在其中设置透明颜色等,然后我有一个函数 addtext("Hello World", X, Y) 在其中创建一个 Label 对象,设置设置并添加到此表单控件。
this.Controls.Add(newLabel);
好吧,现在我需要创建一些东西来添加一个 retangle,以便人们可以在屏幕上“绘制”东西,所以我需要类似于 Label 对象的东西。
我在互联网上看到了一些示例,但所有示例都需要 Paint() 事件才能使用图形等,并添加 LAbel 它不需要这样的所有内容。
我尝试使用该事件并尝试调用 Graphic 属性等,但没有奏效。
以下是我进行的一些测试:
private class Line : Control
{
public float FromX { get; set; }
public float FromY { get; set; }
public float ToX { get; set; }
public float ToY { get; set; }
public Pen PenColor { get; set; }
public Line() { }
}
Graphics g = this.CreateGraphics();
Line line = (Line)cc;
g.DrawRectangle(line.PenColor, line.FromX, line.FromY, line.ToX, line.ToY);
编辑:上面的代码在某些情况下有效,不是一直有效,如果我尝试调试代码,有时在执行 g.DrawRect~ 之后它不会移动到下一行,看起来它是“永远执行” g .DrawRectangle() 函数,控制此绘制的线程一直在说“正在运行”,有人知道会发生什么吗?