Winform 去掉 最大化 最小化 关闭按钮(不是关闭按钮变灰)终极解决办法
- 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();
- }
- }
- }
using System.Runtime.InteropServices;
[DllImport("user32.dll")]
internal static extern IntPtr GetSystemMenu(IntPtr hwnd, bool bRevert);
[DllImport("user32.dll")]
internal static extern int GetMenuItemCount(IntPtr hMenu);
[DllImport("user32.dll")]
internal static extern int RemoveMenu(IntPtr hMenu, int uPosition, int uFlags);
/// <summary>
/// 窗体的关闭按钮失效
/// </summary>
protected void CloseButtonEnable()
{
// 默认窗口去除关闭按钮
const int MF_BYPOSITION = 0x00000400;
IntPtr hWindow = this.Handle;
IntPtr hMenu = GetSystemMenu(hWindow, false);
int count = GetMenuItemCount(hMenu);
RemoveMenu(hMenu, count - 1, MF_BYPOSITION);
RemoveMenu(hMenu, count - 2, MF_BYPOSITION);
}
private void confirm_Load(object sender, EventArgs e)
{
CloseButtonEnable();
}
Winform 去掉 最大化 最小化 关闭按钮(不是关闭按钮变灰)终极解决办法的更多相关文章
- 【转】Winform 去掉 最大化 最小化 关闭按钮(不是关闭按钮变灰)终极解决办法
不墨迹, 如图 : 网上 看了,好多 给的 答案 乱码七糟,都是扯淡,于是乎 自己 写,代码如下:窗体的大小暂时设置为:(598, 362) 涂红的数据根据你的窗体大小改动 using System; ...
- 通过virtualbox最小化安装centos 6.3后无法上网解决办法
通过virtualbox最小化安装centos 6.3后无法上网解决办法 1.设置virtualbox的网络连接方式,如下图使用桥接方式,桥接的网卡为宿主正在上网的网卡,现在我是通过无线来上网的,所以 ...
- 监听Activity进入后台(最小化),并根据时间判断是否超时,此解决办法可用于超时重登陆
通过重写一个继承自Activity的基类中的onUserLeaveHint()方法,当用户按Home键等操作使程序进入后台时即开始计时,当用户使程序恢复为前台显示时执行onResume()方法,在其中 ...
- C#winform如何主窗口最大化最小化默认大小
this.WindowState = FormWindowState.Minimized; bool b = true; private void button2_Click(object sende ...
- PyQt:无边框自定义标题栏及最大化最小化窗体大小调整
环境 Python3.5.2 PyQt5 陈述 隐藏掉系统的控制栏,实现了自定义的标题控制栏,以及关闭/最大化/最小化的功能,自由调整窗体大小的功能(跟随一个大佬学的),代码内有详细注释 只要把Mai ...
- Qt 窗口操作函数(置顶、全屏,最大化最小化按钮设置等)
一.窗口置顶 与 取消置顶 void MainWindow::on_windowTopButton_clicked() { if (m_flags == NULL) { m_flags = windo ...
- c# 窗体相关操作(最大化/最小化/关闭/标题栏)
/// <summary> /// 窗体跟随鼠标移动的标记 /// </summary> private bool normalmoving = false; /// < ...
- 【转】ubuntu 12.04 LTS将关闭最大化最小化移动到右上角
原文网址:http://www.4byte.cn/learning/114801.html ubuntu 12.04 LTS将关闭最大化最小化移动到右上角 还是按下“ALT +F2”组合键,输入g ...
- C#程序实现窗体的最大化/最小化
C#程序实现窗体的最大化/最小化 http://blog.csdn.net/jiangqin115/article/details/41251215 private void button1_Clic ...
随机推荐
- Java lambda 分组后多列求和
主要思路是reducing,可以像sql一样分组后多列求和处理成新对象等: select code,max(name)as name,sum(chengJi)as chengJi,sum(age)as ...
- 跟我一起学Redis之Redis持久化必知必会
前言 Redis是出了名的速度快,那是因为在内存中进行数据存储和操作:如果仅仅是在内存中进行数据存储,那就会导致以下问题: 数据随进程退出而消失:当服务器断电或Redis Server进程退出时,内存 ...
- JAVA课堂随机出题
一.设计思路 1.利用随机数来确定两个数字. 2.生成0-4的随机数,分别代表 加 减 乘 除. 3.输入的题数利用for循环来出题,每行输出几道题便在循环中加入if语句,当前出题数与每行输出题数求余 ...
- 开源脉冲神经网络深度学习框架——惊蛰(SpikingJelly)
开源脉冲神经网络深度学习框架--惊蛰(SpikingJelly) 背景 近年来神经形态计算芯片发展迅速,大量高校企业团队跟进,这样的芯片运行SNN的能效比与速度都超越了传统的通用计算设备.相应的,神经 ...
- 关于我 About Me
重庆某大学计算机专业大三学渣 CTF酱油选手 web安全菜鸡 SRC低危小子 精通多门语言 hello world 输出 和 windows linux单词拼写 扣扣:MjU4NTYxNDQ2NA== ...
- PHP代码审计分段讲解(6)
14 intval函数四舍五入 <?php if($_GET[id]) { mysql_connect(SAE_MYSQL_HOST_M . ':' . SAE_MYSQL_PORT,SAE_M ...
- PHP代码审计分段讲解(1)
PHP源码来自:https://github.com/bowu678/php_bugs 快乐的暑期学习生活+1 01 extract变量覆盖 <?php $flag='xxx'; extract ...
- Windows下MySQL无法启动万能解决方案
MySQL启动报错 window10上安装了MySQL之前使用都是执行net start mysql 启动,执行net stop mysql关闭. 某天开始启动报错"MySQL 服务无法启动 ...
- LeetCode初级算法之数组:36 有效数独
有效数独 题目地址:https://leetcode-cn.com/problems/valid-sudoku/ 判断一个 9x9 的数独是否有效.只需要根据以下规则,验证已经填入的数字是否有效即可. ...
- Day4 【Scrum 冲刺博客】
每日会议总结 昨天已完成的工作 方晓莹(PIPIYing) 完善人员管理页的未完成部分 方子茵(Laa-L):无 黄芯悦(Sheaxx) 开始投诉反馈页面的开发 舒雯钰(LittleTaro) 博客的 ...