.Net Compact Framework 小技巧(1)
在开发过程中都会遇到一些小小的问题,可能这个问题看似简单,但处理起来就相当的麻烦也说不定.
我将一些自己开发中的小技巧写出来告诉给大家,希望大家有所帮助.
这篇文章中将介绍如何隐藏起Form右上角的OK/X按钮,有时候用户觉得不需要这个按钮,那去掉它吧~~~~
再次介绍下该按钮的功能,X表示最小化,OK表示确认并关闭.通常新建一个Form后,默认窗体的最小化是True,所以如果需要显示OK的话,就需要将该属性设为False.
隐藏该按钮需要调用3个API
2 private static extern bool SHDoneButton(IntPtr hWnd, UInt32 dwState);
3
4 [DllImport("coredll.dll")]
5 public static extern UInt32 SetWindowLong(IntPtr hWnd, int nIndex, UInt32 dwNewLong);
6
7 [DllImport("coredll.dll")]
8 public static extern UInt32 GetWindowLong(IntPtr hWnd, int nIndex);
SHDoneButton--窗体为OK时,调用此方法即可.
GetWindowLong--获得指定窗口的信息
SetWindowLong--设置指定窗口的信息,这2个方法结合起来用,才能隐藏X按钮
具体使用
2 public const UInt32 SHDB_HIDE = 0x0002;
3 public const int GWL_STYLE = -16;
4 public const UInt32 WS_NONAVDONEBUTTON = 0x00010000;
5
6 /// <summary>
7 /// 隐藏OK按钮
8 /// </summary>
9 /// <param name="hWnd"></param>
10 public static void HideDoneButton(IntPtr hWnd)
11 {
12 SHDoneButton(hWnd, SHDB_HIDE);
13 }
14
15 /// <summary>
16 /// 隐藏X按钮
17 /// </summary>
18 /// <param name="hWnd"></param>
19 public static void HideXButton(IntPtr hWnd)
20 {
21 UInt32 dwStyle = GetWindowLong(hWnd, GWL_STYLE);
22
23 if ((dwStyle & WS_NONAVDONEBUTTON) == 0)
24 SetWindowLong(hWnd, GWL_STYLE, dwStyle | WS_NONAVDONEBUTTON);
25 }
在实际调用时,只要将窗体的Handle作为参数传入即可.
隐藏按钮后,如何打开?
只需要设置窗体的MinimizeBox属性即可.想显示OK,设为False.想显示X,设为True即可.
显示效果:
显示OK按钮
显示X按钮
隐藏按钮
代码下载:DeviceTechDemo.rar
运行环境:VS2008 + WM6.0 + .net cf3.5
Author:AppleSeeker(冯峰)
Date:2009-2-2
文章导读:移动开发索引贴
.Net Compact Framework 小技巧(1)相关推荐
- DotNet Framework 小技巧
序列化类到Xml using System; using System.Collections.Generic; using System.Text; using System.Xml.Seriali ...
- sql server 小技巧(8) visual studio 2013里使用Sql server compact 4.0及发布问题处理
1. 安装 Microsoft SQL Server Compact 4.0 https://www.microsoft.com/zh-cn/download/confirmation.aspx?id ...
- Microsoft .NET Compact Framework 开发常见问题解答
这个 FAQ 有部分是通过编辑公共 .NET Compact Framework 新闻组 (microsoft.public.dotnet.framework.compactframework) 贴出 ...
- Microsoft .NET Compact Framework 开发常见问题解答 - 专注.NET技术及其相关应用开发! - 博客园...
Microsoft .NET Compact Framework 开发常见问题解答 发布日期: 3/30/2005 | 更新日期: 3/30/2005 Microsoft .NET Compact F ...
- VC小技巧(三)视图
VC小技巧(三)视图 1. 如何得到视图指针 [ 问题提出] 现在你有一个多线程的Demo, 你想在多线程里处理视图指针里的函数, 我们给这个函数起个名字:Put(); 该如何实现呢? // 有两种方 ...
- [原]Console小技巧——Console版贪食蛇
这一篇是我的Console小技巧的最后一篇文章,以下是索引: 1.[原]Console小技巧--七彩输出 2.[原]Console小技巧--字符涂鸦 3.[原]Console小技巧--Console版 ...
- 抄袭一些别人工作中的小技巧
1-类型强制转换 1.1 字符串转整形 '32' * 1 // 32 'ds' * 1 // NaN null * 1 // 0 undefined * 1 // NaN 或者 + '123' // ...
- 10个小技巧助您写出高性能的ASP.NET Core代码
今天这篇文章我们来聊一聊如何提升并优化ASP.NET Core应用程序的性能,本文的大部分内容来自翻译,当然中间穿插着自己的理解,希望对大家有所帮助!话不多说开始今天的主题吧! 我们都知道性能是公共网 ...
- .net Compact Framework 程序设计起步(智能设备的程序设计)
什么是智能设备?PDA,SmartPhone等MS一系列与手持设备相关的产品都可以叫做智能设备. 可以有很多方法开发与设计PDA等智能设备的程序,这里只讨论.net Compact Framework ...
最新文章
- Hive JDBC:Permission denied: user=anonymous, access=EXECUTE, inode=”/tmp”
- 超实用!VLAN、TRUNK、VLAN间路由基础
- 计算机老师开场白试讲视频,教师招考试讲模版之开场白
- Silverlig“.NET研究”ht性能优化纪要
- flask-admin初次使用遇到的几个小问题(显示对象内存地址,编辑无法正确跳转)
- 异常Exception(Java)
- 在chrome中通过getComputedStyle()获取透明度的问题
- JVM到底怎么进行类加载器的呢?
- 分析mrp主要应用范围_MRP软件行业现状调研分析及发展趋势预测报告(2020)
- 计算机硬盘模式,详细教你bios设置硬盘模式
- 搜狗推送工具之泛站程序实现泛收录
- Python实验报告
- 消灭星星android,消灭星星安卓版
- 好用的便签APP排行榜前十名?
- Origin绘制双x,y轴图像
- office在线预览 word在线预览 .net在线预览 文件在线浏览接口
- 网易云音乐(移动端)
- 矩阵分析之Householder Reduction
- 学IT,看教程,看视频,你必须知道的学习网站
- TiDB 报错: GC life time is shorter than transaction duration
热门文章
- hpg8服务器系列指示灯意思,HP Proliant GEN8服务器指示灯说明
- Java编写抓取用户信息代码_[代码全屏查看]-一个基于JAVA的知乎爬虫,抓取知乎用户基本信息...
- 神策营销云:「在线教育」行业,如何借“运营工具”玩转微信生态?
- B2B 企业如何高效获客增长?
- 十周年“设计大佬”首谈行业变革:数据驱动超过 10% 的业绩增长
- 早期的增长黑客 PayPal 如何在2000年初达到每日7%到10%的营收成长?
- 物流链云平台云ROS——看得见的成本节约
- Hyper-V群集对群集复制
- 微信中H5同层Video播放器接入教程
- 从客户端中检测到有潜在危险的request.form值