当前位置:首页C# > 正文

c#改变窗体形状

作者:野牛程序员:2024-02-03 09:57:06C#阅读 2114

您可以使用C#中的Form类来改变窗体的形状。以下是一个简单的示例,演示如何将窗体形状更改为椭圆形:

using System;
using System.Drawing;
using System.Windows.Forms;

namespace FormShapeExample
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
            
            // 设置窗体的双缓冲以减少绘制时的闪烁
            SetStyle(ControlStyles.ResizeRedraw, true);
            DoubleBuffered = true;
        }

        // 重写OnPaint方法,绘制自定义的窗体形状
        protected override void OnPaint(PaintEventArgs e)
        {
            GraphicsPath path = new GraphicsPath();
            path.AddEllipse(0, 0, ClientSize.Width, ClientSize.Height);
            Region = new Region(path);
            base.OnPaint(e);
        }
    }
}

在此示例中,创建了一个自定义的MainForm类,继承自Form类。重写了OnPaint方法,在该方法中,使用GraphicsPath来创建一个椭圆形的路径,并将其设置为窗体的区域。

记得在程序的入口点中启动窗体:

using System;
using System.Windows.Forms;

namespace FormShapeExample
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MainForm());
        }
    }
}

运行程序后,将看到窗体的形状已经变为椭圆形。可以根据需要修改OnPaint方法中的GraphicsPath,以创建不同形状的窗体。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击