c#-不带控制框的Windows窗体对话框图标
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c#-不带控制框的Windows窗体对话框图标,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1090字,纯文字阅读大概需要2分钟。
内容图文
![c#-不带控制框的Windows窗体对话框图标](/upload/InfoBanner/zyjiaocheng/948/a492753171914d069d510dc66df09f73.jpg)
我想知道是否有一种方法可以在禁用控制框,最小化框和最大化框的同时在自定义对话框的左上角显示图标?单击图标(大约,关闭,移动等)时,我不需要任何功能.我只想要更好的外观.
解决方法:
没有控制箱=>没有图标…
禁用ControlBox后,窗体windowstyle WS_SYSMENU标志(以某种方式以一种遥远的方式)将被删除,因此Windows无法显示图标.实际上,我尚未找到关于为什么右上角图标继续存在而又没有WS_SYSMENU的最终解释……但是找到了另一个更适合您需求的解决方案)
private const int GWL_STYLE = -16;
private const int WS_CLIPSIBLINGS = 1 << 26;
[DllImport("user32.dll", CharSet = CharSet.Auto, EntryPoint = "SetWindowLong")]
public static extern IntPtr SetWindowLongPtr32(HandleRef hWnd, int nIndex, HandleRef dwNewLong);
[DllImport("user32.dll", CharSet = CharSet.Auto, EntryPoint = "GetWindowLong")]
public static extern IntPtr GetWindowLong32(HandleRef hWnd, int nIndex);
protected override void onl oad(EventArgs e) {
int style = (int)((long)GetWindowLong32(new HandleRef(this, this.Handle), GWL_STYLE));
SetWindowLongPtr32(new HandleRef(this, this.Handle), GWL_STYLE, new HandleRef(null, (IntPtr)(style & ~WS_CLIPSIBLINGS)));
base.OnLoad(e);
}
内容总结
以上是互联网集市为您收集整理的c#-不带控制框的Windows窗体对话框图标全部内容,希望文章能够帮你解决c#-不带控制框的Windows窗体对话框图标所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。