社区
C#
帖子详情
如何设置WinForm的标题栏高度?
iyond
2005-03-09 04:36:32
做一个自定义界面的窗体,标题栏用图片来绘制。但是有的系统里标题栏的高度太小,画上图片后太难看。并且也放不下自定义的关闭按钮。怎么做可以设置它的高度?
...全文
2848
30
打赏
收藏
如何设置WinForm的标题栏高度?
做一个自定义界面的窗体,标题栏用图片来绘制。但是有的系统里标题栏的高度太小,画上图片后太难看。并且也放不下自定义的关闭按钮。怎么做可以设置它的高度?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
30 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iyond
2005-03-11
打赏
举报
回复
增加:双击标题栏改变窗体状态
恢复默认皮肤功能
Demo下载地址:http://bbs.hevnet.cn/UploadFile/2005-3/200531122253976.rar
jxyaolp
2005-03-11
打赏
举报
回复
我也想知道!
iyond
2005-03-11
打赏
举报
回复
因为还是改变不了标题栏,所以放弃了。
现在我基本上完成了一个可以动态设置皮肤的自定义窗体
http://my.hevnet.cn/iyond/posts/7354.aspx
因为是第一个版本,所以错误和不足肯定不少,请大家指正。
nga96
2005-03-10
打赏
举报
回复
UP
yangao
2005-03-10
打赏
举报
回复
用自己画的标题栏
terryshi
2005-03-10
打赏
举报
回复
up
iyond
2005-03-10
打赏
举报
回复
有一个初步的解决方案了,就是截获WM_NCCALCSIZE消息,指定客户区的大小。
心情解码
2005-03-10
打赏
举报
回复
:)
--
火山企鹅
2005-03-10
打赏
举报
回复
你为什么不采用自绘窗口
iyond
2005-03-10
打赏
举报
回复
还有一个办法就是在创建窗体的时候手动指定客户区的位置和大小。只是不知道怎么做。
Jim3
2005-03-10
打赏
举报
回复
看到一个API函数SystemParametersInfo可以改变标题栏高度
用SPI_SETNONCLIENTMETRICS参数
不过改变的好像是整个系统的,你试一下吧
amendajing
2005-03-10
打赏
举报
回复
mark
iyond
2005-03-10
打赏
举报
回复
TO Jim3(Jim) :现在就是用缩放来实现的。但是缩放后的界面效果和预想的不太一样,所以就想找点别的办法
tianzhenjing
2005-03-10
打赏
举报
回复
窗体设为none,按钮+ContextMenu可以实现菜单,然后你就想怎么画都行了
hatita
2005-03-10
打赏
举报
回复
不要使用MainMenu,用浮动菜单ContextMenu,窗体设为None,应该就没问题了阿
Jim3
2005-03-10
打赏
举报
回复
你的图片不可以缩放的么?缩放之后效果会失真么?
另外窗口的标题栏是由系统统一控制的,可以在显示属性中设置的
iyond
2005-03-10
打赏
举报
回复
To isaacyh(发现自己啥都不懂。。。回头学C++) :但是要放菜单的话,就不行啦。
To coolksj(coolksj):调API
[DllImport("User32.dll", CharSet=CharSet.Auto)]
public static extern IntPtr GetWindowDC(IntPtr hWnd);
IntPtr hDC = GetWindowDC(this.Handle);
Graphics gra = Graphics.FromHdc(hDC);
gra.DrawImageUnscaled(bmp,0,0);
gra.Dispose();
tom2000wt
2005-03-10
打赏
举报
回复
我是用form类型设为None,在上面加一个dock为top的panel作为标题栏的办法实现的外观还不错,可是怎么实现窗体的拖拽呢?望高手点解~~ 谢谢了~
iyond
2005-03-10
打赏
举报
回复
To coolksj(coolksj) :
谢谢了。
但是虽然它不能改变TITLE,但是只要能改变客户区就可以了。因为我可以把客户区往下挪,这样就等于改变了标题栏的高度(因为标题栏是我自己画的)。
另外,你用VB是怎么写的?
coolksj
2005-03-10
打赏
举报
回复
iyond(伊飏)
帮你做了一下试验,截取WM_NCCALCSIZE,修改NCCALCSIZE_PARAMS,并没有用.
他的确可以让Client改变,但无法改变Title
加载更多回复(10)
C#实现了一个
WinForm
下的悬挂窗口;
两天在工作中用C#实现了一个
WinForm
下的悬挂窗口; 之前在网上搜索了几下,没有发现类似的说明,特在此记录一下。 特别说明:所谓悬挂窗口,就是类似QQ聊天工具的一个功能,当窗口放到桌面的上边界时自动收缩成一个小条隐藏起来;而一旦鼠标再次接触到上述边界的时候,窗口又会自动展开。 实现方法有两类,一是窗口内实现悬挂,在窗口内创建一个小的Panel,正常时不可见,在悬挂是显示, 悬挂时
设置
窗口
标题栏
不显示和窗口
高度
为该Panel
高度
;二是单独窗口悬挂,创建新的窗口作为悬挂时的显示条,同时隐藏掉主窗口。
WinForm
实现窗体最大化并遮盖任务栏的方法
主要介绍了
WinForm
实现窗体最大化并遮盖任务栏的方法,涉及C#实现
WinForm
窗体全屏显示的实现及调用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
C# for CSDN 乱七八糟的看不懂
没法下载,到这里折腾一把试试。 本文由abc2253130贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 C#(
WINFORM
)学习 一、 C#基础 基础 类型和变量 类型和变量 类型 C# 支持两种类型:“值类型”和“引用类型”。值类型包括简单类型(如 char、int 和 float 等)、枚举类型和结构类型。引用类型包括类 (Class)类 型、接口类型、委托类型和数组类型。 变量的类型声明 变量的类型声明 每个变量必须预先声明其类型。如 int a; int b = 100; float j = 4.5; string s1; 用 object 可以表示所有的类型。 预定义类型 下表列出了预定义类型,并说明如何使用。 类型 object 说明 所有其他类型的最终 基类型 字符串类型; 字符串是 Unicode 字符序列 8 位有符号整型 16 位有符号整型 32 位有符号整型 64 位有符号整型 示例 object o = null; 范围 string sbyte short int long string s = "hello"; sbyte val = 12; short val = 12; int val = 12; long val1 = 12; -128 到 127 -32,768 到 32,767 -2,147,483,648 2,147,483,647 -9,223,372,036,854,775,808 到 第1页 C#(
WINFORM
)学习 long val2 = 34L; 到 9,223,372,036,854,775,807 byte ushort 8 位无符号整型 16 位无符号整型 byte val1 = 12; ushort val1 = 12; uint val1 = 12; uint 32 位无符号整型 uint val2 = 34U; ulong val1 = 12; ulong val2 = 34U; ulong 64 位无符号整型 ulong val3 = 56L; ulong val4 = 78UL; float 单精度浮点型 float val = 1.23F;7 位 double val1 = 1.23; double 双精度浮点型 double val2 = ±5.0 × 10?324 ±1.7 × 10 308 0 到 255 0 到 65,535 0 到 4,294,967,295 0 到 18,446,744,073,709,551,615 ±1.5 × 10?45 ±3.4 × 10 38 到 到 4.56D;15-16 布尔型;bool 值或为 真或为假 字符类型;char 值是 一个 Unicode 字符 精确的小数类型, 具有 28 个有效数字 bool val1 = true; bool val2 = false; char val = 'h'; decimal val = bool char decimal DateTime ±1.0 × 10?28 ±7.9 × 10 28 到 1.23M;28-29 变量转换 简单转换: float f = 100.1234f; 可以用括号转换: short s = (short)f 也可以利用 Convert 方法来转换: string s1; s1=Convert.ToString(a); MessageBox.Show(s1); 常用 Convert 方法有: 第2页 C#(
WINFORM
)学习 C# Convert.ToBoolean Convert.ToByte Convert.ToChar Convert.ToDateTime Convert.ToDecimal Convert.ToDouble Convert.ToInt16 Convert.ToInt32 Convert.ToInt64 Convert.ToSByte Convert.ToSingle Convert.ToString Convert.ToUInt16 Convert.ToUInt32 Convert.ToUInt64 备注 Math 类 常用科学计算方法: C# Math.Abs Math.Sqrt Math.Ro
winform
如何正确的获取窗体的
标题栏
高度
最近我需要知道鼠标在一个控件里的相对位置,鼠标相对于屏幕的位置我是可以知道的,所以只要得到控件相对于屏幕的位置,就可以算出鼠标相对于控件的位置了 但是发现有误差 后来经过测试是由于窗体的
标题栏
高度
导致的 所以减去了窗体的
标题栏
高度
,但是还是有细微的误差 最后经过分析,是由于获取
标题栏
高度
不正确导致的,当搜索如何获取
标题栏
高度
时 所有的答案都是child.Height - chil...
C#
winform
获取
标题栏
,状态栏,菜单栏的
高度
MessageBox.Show("当前窗体
标题栏
高度
"+(this.Height - this.ClientRectangle.Height).ToString());//获得当前窗体
标题栏
高度
ClientRectangle//获取表示控件的工作区的矩形MessageBox.Show(SystemInformation.PrimaryMonitorSize.ToString()); //获取主显示...
C#
110,528
社区成员
642,571
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章