1. 程式人生 > >C# 在windows form實現不規則窗體&透明窗體

C# 在windows form實現不規則窗體&透明窗體

有時候自己做一些小工具,希望做一些看起來比較特殊的樣子。

很多時候我們的窗體形狀都是不規則的,或者背景的透明的。那麼我們怎麼在.net中實現這樣的效果呢?

方式一:

其實很簡單,是要設定窗體的邊框樣式為None並且設定透明引數就可以了。

效果圖:


        private void Form1_Load(object sender, EventArgs e)
        {
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
            this.BackColor = Color.Red;
            this.TransparencyKey = this.BackColor;
        }

方式二:

在Form初始化的時候繪製一個路徑:
        public Form1()
        {
            InitializeComponent();

            GraphicsPath path = new GraphicsPath();
            //這裡繪畫影象
            path.AddLine(0, 0, 200, 0);
            path.AddLine(0, 0, 100, 174);
            path.AddLine(100, 174, 200, 0);
            Region re = new Region(path);
            //將視窗設定為影象的形狀
            this.Region = re;
        }