• 【转】Winform 去掉 最大化 最小化 关闭按钮(不是关闭按钮变灰)终极解决办法


    不墨迹, 如图 :

    Winform 去掉 最大化 最小化 关闭按钮(不是关闭按钮变灰)终极解决办法 - Longki - Longki
    网上 看了,好多 给的 答案 乱码七糟,都是扯淡,于是乎 自己 写,代码如下:
    窗体的大小暂时设置为:(598, 362) 涂红的数据根据你的窗体大小改动


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Drawing.Drawing2D;
    using System.Runtime.InteropServices;

    namespace WinDemo
    {
        public partial class Form5 : Form
        {
            public Form5()
            {
                InitializeComponent();
            }

            /// <summary>
            /// Button 按钮重绘事件
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button1_Paint(object sender, PaintEventArgs e)
            {
                GraphicsPath myPath = new GraphicsPath();
                Rectangle rect = new Rectangle(0,0,574,362);//后面2个数据调整窗体大小
                myPath.AddRectangle(rect);
                this.Region = new Region(myPath);
            }

            [DllImport("user32.dll")]
            static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);

            [DllImport("User32.dll")]

            private static extern IntPtr GetWindowDC(IntPtr hWnd);

            protected override void WndProc(ref System.Windows.Forms.Message m)
            {
                const int WM_NCPAINT = 0x85;
                base.WndProc(ref m);

                if (m.Msg == WM_NCPAINT)
                {

                    IntPtr hdc = GetWindowDC(m.HWnd);
                    if ((int)hdc != 0)
                    {
                        Graphics g = Graphics.FromHdc(hdc);
                        Pen pen1 = new Pen(Color.FromArgb(64,64,64));
                        Pen pen2 = new Pen(Color.FromArgb(128, 128, 128));
                        Pen pen3 = new Pen(Color.FromArgb(212, 208, 200));
                        g.DrawLine(pen1, 573, 0, 573, 360);//最外边
                        g.DrawLine(pen2, 572, 1, 572, 359);//最外边第二条白色
                        g.DrawLine(pen3, 571, 2, 571, 359);
                        g.DrawLine(pen3, 571, 2, 571, 359);
                        g.Flush();
                        ReleaseDC(m.HWnd, hdc);
                    }
                }
            }
            private void Form5_MouseCaptureChanged(object sender, EventArgs e)
            {
                Graphics g = this.CreateGraphics();
                Pen pen1 = new Pen(Color.FromArgb(64, 64, 64));
                Pen pen2 = new Pen(Color.FromArgb(128, 128, 128));
                Pen pen3 = new Pen(Color.FromArgb(212, 208, 200));
                g.DrawLine(pen1, 573, 0, 573, 360);//最外边
                g.DrawLine(pen2, 572, 1, 572, 359);//最外边第二条白色
                g.DrawLine(pen3, 571, 2, 571, 359);
                g.DrawLine(pen3, 571, 2, 571, 359);
                g.Flush();
            }
    }
    }




    Source Code : http://download.csdn.net/detail/zydcomputers/4055787

  • 相关阅读:
    leetcode:Power of Two
    求二进制中1的个数
    leetcode:Contains Duplicate和Contains Duplicate II
    leetcode:Summary Ranges
    leetcode Database1(三)
    c++作业:使用函数调用的方法,实现求两个整数中大的数的程序。
    Java制作桌面弹球下载版 使用如鹏游戏引擎制作 包含2个精灵球同时弹动
    Java动画 重力弹球 如鹏游戏引擎 精灵 设计一个小球加速落地又减速弹起并反复直到停止的Java程序
    为什么方差的分母有时是n,有时是n-1 源于总体方差和样本方差的不同
    计算机应用第三次作业:自动开机自动关机 常用DOS命令 关于文件文件夹
  • 原文地址:https://www.cnblogs.com/xuan52rock/p/5698753.html
Copyright © 2020-2023  润新知