上次开发了一个鼠圈圈的应用程序,就是屏幕跟随鼠标的圈圈。不过目前没实现圈圈窗体代码,想实现与博客网页里的鼠标圈圈效果,所以来这请园友们请教。
这个是博文:https://www.cnblogs.com/lzhdim/p/18010388
具体圈圈效果请见我的博客效果。
请热心的园友给出无规则圈圈窗体创建的代码,先谢谢啦。
1、弄一个背景透明的圈圈图片;
2、设置窗体的BackgroundImage为图片;设置TransprantKey为背景色,设置BackColor为背景色;
因为图片为透明的背景,所以窗体只显示的圈圈,也是透明空心的圈圈了。。。
要实现一个不规则的空心圈圈窗体,你可以使用 C# 的 WinForms 应用程序来实现。以下是一个简单的示例代码:
csharp
Copy code
using System;
using System.Drawing;
using System.Windows.Forms;
public class IrregularForm : Form
{
private Point center;
private int radius = 50;
public IrregularForm()
{
this.FormBorderStyle = FormBorderStyle.None;
this.BackColor = Color.Transparent;
this.TransparencyKey = Color.Transparent;
this.TopMost = true;
this.StartPosition = FormStartPosition.Manual;
this.Bounds = Screen.PrimaryScreen.Bounds;
this.MouseMove += IrregularForm_MouseMove;
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
using (Pen pen = new Pen(Color.Red, 2))
{
e.Graphics.DrawEllipse(pen, center.X - radius, center.Y - radius, 2 * radius, 2 * radius);
}
}
private void IrregularForm_MouseMove(object sender, MouseEventArgs e)
{
center = e.Location;
Invalidate();
}
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new IrregularForm());
}
}
这个示例代码创建了一个继承自 Form 的 IrregularForm 类,它是一个无边框、透明背景的窗体。在窗体的 OnPaint 方法中绘制了一个空心圆,而鼠标移动事件则用来更新圆心的位置。通过这种方式,你可以在屏幕上随着鼠标的移动绘制出一个不规则的空心圆。
这个只是在窗体上绘制的圈圈吧,不是空心圈圈窗体。