C#窗体编程不显示最小化、最大化、关闭按钮的方法
本文介绍在C#窗体编程时,如何设置不显示右上角的最小化最大化关闭按钮。可以通过this.ControlBox这个属性的值来控制。
在Windows的窗体编程中,基本上每一个窗体都是一个最小化、最大化和关闭按钮的。见惯了千篇一律,我们有时需要有一点新意,比如来把右上角的这最小化、最大化和关闭三个按钮去掉。
对于最大化和最小化按钮,在C#窗体开发时,各一个属性来启用或禁用这两个按钮。对于最大化来说,this.MaximizeBox=false即可禁用最大化按钮。而这里的this是指窗体对象本身。而this.MinimizeBox=false即可禁用最小化按钮。
上面说了怎么禁用最大化、最小化按钮,但要注意,如果最小化、最大化两个按钮都被禁用时,这两个按钮在右上角都不显示。如果只是禁用其中一个,那么这两个按钮都还在右上角,只是被禁用的那个显示为灰色不可用状态。
至于关闭按钮,C#窗体编程中,并没有单独一个属性来按钮它。
那么如何将右上角的这最小化最大化三个关闭按钮全部不显示呢?我们可以将这三个按钮当作一组ControlBox,将this.ControlBox=false即可同时禁用这三个按钮。一旦这三个按钮都被禁用了,那就都不显示了。
所以,C#窗体设置不显示右上角的最小化最大化关闭按钮,是不是很简单?但要注意的,如果关闭按钮被禁用了,这个窗口就无法通过系统自带的功能来关闭了。你必须再写一个关闭功能。比如写一个按钮,onClick事件设置为this.Close();就可以了。
相关推荐
-
c# winform 关闭窗体时同时结束线程实现思路
前不久,做一个winform小程序,是给客户导数据用的.当时就发现调试的时候,线程有点问题,到某个点时就走不动了.但是运行确实没有问题的. 只是在关闭窗体后,资源管理器里,一大堆进程. 当时,客户急着用,小测了下,导出数据无误,进程就先不管了. 后来自己去查资料,发现只要在线程那里设置个属性 复制代码 代码如下: Thread th = new Thread(Excute); th.IsBackground = true;这样就解决问题了. 这个属性的意思就是把线程设置为后台线程. 然后关闭进程
-
C#最简单的关闭子窗体更新父窗体的实现方法
主窗体Form1关键代码: 将子窗体最为对话框模式弹出,当窗体关闭或取消时更新主窗体 复制代码 代码如下: private void simpleButton1_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); f2.Owner = this; DialogResult result=f2.ShowDialog(); if (result == DialogResult.Cancel) { this.gridControl1.
-
C# WINFORM 强制让窗体获得焦点的方法代码
复制代码 代码如下: //调用API [System.Runtime.InteropServices.DllImport("user32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto, ExactSpelling = true)] public static extern IntPtr GetForegroundWindow(); //获得本窗体的句柄 [System.Runtime.InteropService
-
C#实现让窗体永远在窗体最前面显示的实例
本文以实例描述了C#实现让窗体永远在窗体最前面显示的方法,具体步骤如下: 1.新建一个窗体程序,添加一个Timer以及设置它可用并绑定事件. 2.设置窗体的TopMost属性为True 3.然后设置代码如下即可实现. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; usin
-
C#实现让窗体获得焦点的方法示例
本文实例讲述了C#实现让窗体获得焦点的方法.分享给大家供大家参考,具体如下: 开发环境:Visual Studio .NET 2005 下的Windows Form Application 应用场景:当我们有个窗体中的数据发生了变化而此窗体又没有获得焦点(不是用户操作的当前窗口)的时候,我们希望它获得焦点,这样用户就可以立刻发现它上面的数据发生了变化. 新建一个Window应用程序,会建立Form1,再添加一个Timer(timer1),设置如下属性: 然后添加timer1的Tick事件函数,完
-
用 C# Winform做出全透明的磨砂玻璃窗体效果代码
首先, 调用系统 API, 这里如果要引用神马的, 就不一一列出了, 大家自己引用一下. 复制代码 代码如下: [StructLayout(LayoutKind.Sequential)] public struct MARGINS { public int Left; public int Right; public int Top; public int Bottom; } [DllImport("dwmapi.dll", PreserveSig = false)] public s
-
C# SkinEngine控件 给窗体添加皮肤的方法
自己写的一个日历记事本效果图 具体步骤: 1.添加控件SkinEngine. 1.右键"工具箱"."添加选项卡",取名"皮肤". 2.右键"皮肤","选择项"弹出对话框. 3.点击"浏览",找到IrisSkin2.dll,这时你会发现 SkinEngine 的控件已经被打上勾 - 确定.2.将 SkinEngine 控件添加到窗体上.3.把皮肤文件(以ssk为后缀名)放在&quo
-
C# Winform实现捕获窗体最小化、最大化、关闭按钮事件的方法
本文实例讲述了C# Winform实现捕获窗体最小化.最大化.关闭按钮事件的方法,主要是通过重写WndProc来实现的.分享给大家供大家参考.具体方法如下: 主要功能代码如下: const int WM_SYSCOMMAND = 0x112; const int SC_CLOSE = 0xF060; const int SC_MINIMIZE = 0xF020; const int SC_MAXIMIZE = 0xF030; protected override void WndProc(ref
-
C# 开发圆角控件(窗体)的具体实现
最近在做卡片视图的程序,要求将控件做成带有圆角的效果,下面是我在网上查找的资料,经过测试,确定可以实现功能.其中方法三既适应于控件,也适应于窗体. 先上传效果图: 方法一: 增加命名空间:using System.Drawing.Drawing2D; 添加方法如下:当然各角的点可根据需要确定. 复制代码 代码如下: private void Type(Control sender, int p_1, double p_2) { GraphicsPath oP
-
C#,winform,ShowDialog,子窗体向父窗体传值
调用showdialog方法后,调用代码被暂停执行,等到调用showdialog方法的窗体关系后再继续执行.而且窗体可以返回一个dialogresult值,他描述了窗体关闭的原因,例如OK,Cancel,yes,no等.为了让窗体返回一个dialogresult,必须设置窗体的dialogresult值,或者在窗体的一个按钮上设置dialogresult属性. 例子: 下面是子窗体代码,要求输入phone,然后会返回给父窗体. using System; using System.Collect
-
C#设置子窗体在主窗体中居中显示解决方案
问题的开始是由C#传传看主群里的印醒提出来的,下面我来说一下解决方案吧 其实表面上看是很简单的 开始吧,现在有两个窗体Form1主窗体,Form2子窗体 而且我相信大部分人都会这样写 在子窗体的Load事件中 这样写 复制代码 代码如下: this.StartPosition = FormStartPosition.CenterParent; 其实这样写是不对的,正确的写法应该是 复制代码 代码如下: this.StartPosition = FormStartPosition.CenterSc
-
解决C#中取消方向键对控件焦点控制的实现方法
在C# winform 应用程序中,对于键盘响应事件,经常使用到"KeyPress"."KeyUp"."KeyDown"事件,可以处理某个按键的自定义处理事件.有时想定义方向键的自定义处理事件时,你可以发现,虽然自定义的处理事件发生了响应,但是也可以看到,按下方向键时,发现窗体上控件的焦点也发生了切换.而这种结果不是我们想要的,我们不想按下方向键时,控件的焦点发生切换,只想响应我们自定义的处理函数即可.下面的方法可以取消方向键对控件焦点的控制:
随机推荐
- 软件测试方法大汇总
- Python使用arrow库优雅地处理时间数据详解
- jquery引用方法时传递参数原理分析
- Vue.js数据绑定之data属性
- 详解Nginx服务器中的日志相关配置
- 基于SpringBoot与Mybatis实现SpringMVC Web项目
- php文件操作相关类实例
- python自动化脚本安装指定版本python环境详解
- C#编程中使用ref和out关键字来传递数组对象的用法
- C# winform自定义翻页控件详解
- javascript之typeof、instanceof操作符使用探讨
- 比较常用UML类图几种关系的小结
- sql2008评估期已过的解决办法及序列号
- JS实现css hover操作的方法示例
- yum安装(卸载)本地rpm包的方法
- PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
- SpringMVC拦截器实现登录认证
- 一步一步学习PHP(4) php 函数 补充2
- java字符串遍历以及统计字符串中各类字符
- idea远程调试spark的步骤讲解