using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication16
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.MinimizeBox = false;
this.MaximizeBox = false;
this.TopMost = true;
this.IsMdiContainer = true;
this.WindowState = FormWindowState.Maximized;
}
protected override void WndProc(ref Message m)
{
const int WM_SYSCOMMAND = 0x112;
const int SC_CLOSE = 0xf060;//关闭
const int SC_MINSIZE = 0xf020;//最大化
const int SC_MAXISIZE = 0xf030;//最小化
const int SC_NORMAL = 0xf120;//还原
const int SC_DOUBLECLICK = 0xf122;//双击窗体标题栏
if ((m.Msg == WM_SYSCOMMAND) && ((int)m.WParam == SC_CLOSE))//关闭
{
return;
}
if ((m.Msg == WM_SYSCOMMAND) && ((int)m.WParam == SC_MAXISIZE))//最大化
{
return;
}
if ((m.Msg == WM_SYSCOMMAND) && ((int)m.WParam == SC_MINSIZE))//最小化
{
return;
}
if ((m.Msg == WM_SYSCOMMAND) && ((int)m.WParam == SC_NORMAL))//还原
{
return;
}
if ((m.Msg == WM_SYSCOMMAND) && ((int)m.WParam == SC_DOUBLECLICK))///双击窗体标题栏
{
return;
}
//if (m.Msg == WM_SYSCOMMAND)//用来获取用户触发事件的16进制参数,通过科学计算器转换
//{
// int test = (int)m.WParam;
//}
base.WndProc(ref m);
}
private void btnClose_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
c# winform 禁止窗体的一些操作(如最大化、最小化)
最新推荐文章于 2022-04-17 15:05:30 发布
本文介绍了一个使用C#实现的Windows窗体应用程序示例,该程序禁用了窗体的最小化、最大化及关闭按钮,并设置窗体始终位于顶层且启动时即为最大化状态。此外,还展示了如何通过重写WndProc方法来拦截并处理特定的消息。
4588

被折叠的 条评论
为什么被折叠?



