关于窗体前置的问题

everlose 2014-09-11 12:55:40
我现在要写一个游戏的插件,我希望做一个半透明窗体 总是在游戏窗体前面,即使游戏是全屏窗体的,如何写代码?在就是半透明悬浮窗 如何和游戏窗体联动,游戏窗体非全屏 发生位移时 悬浮窗体跟着移动,如何做?
...全文
210 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
everlose 2014-09-13
  • 打赏
  • 举报
回复
谢了 其实我也是刚刚在外面得到答案
threenewbee 2014-09-12
  • 打赏
  • 举报
回复
C#做不了,你的背景知识太缺乏。 出于科普的目的,给你篇文章:http://blog.csdn.net/shenmingda/article/details/6200352
  • 打赏
  • 举报
回复
它根本什么“窗口透明”,而是窗口内的控件透明 --> 它根本不是什么“窗口透明”,而是窗口内的控件透明 比如说你创建一个 WPF 或者 Silverlight 的 UserControl,你首先把它默认的布局 Grid 的 背景色(White)删除掉,那么它就是透明的了。 你可以把对话窗口显示在场景地图上,可以把各种工具窗口动态显示在地图上,也可以把各种精灵(人物、动物、一棵树、一片浮动的云、一颗正在飞行的子弹.....)的窗口显示在地图上,可以动态改变这些窗口的深度(遮盖关系),这些窗口显然都是透明的,由你的游戏应用程序控制它们。 这些窗口都是用户控件,如果你听别人说了“游戏窗体”的词儿就去折腾什么 .net 窗体的遮挡效果,那么我想你写不了游戏了。赶紧找个公司去学习相关开发技术。
  • 打赏
  • 举报
回复
引用 楼主 everlose 的回复:
我现在要写一个游戏的插件,我希望做一个半透明窗体 总是在游戏窗体前面,即使游戏是全屏窗体的,如何写代码?在就是半透明悬浮窗 如何和游戏窗体联动,游戏窗体非全屏 发生位移时 悬浮窗体跟着移动,如何做?
要说明你基于什么平台来开发!我基本上不回答属于 winform 那些东西。如果你是别的平台,那么可以。 游戏“窗体”是跟 .net 框架中内置的“窗体”根本就是两个概念。把它们混淆起来,这可能是没有考虑开发过实际的游戏软件。 游戏整个是一个窗体,其中有背景(某一个场景)地图,有一些前置的窗口,这都是相当于Panel布局,或者Grid布局,随你怎么叫,总之是一个窗口里边的多个控件叠加效果。 基于此,你在看看有没有什么“透明”的现成例子,就明白了。它根本什么“窗口透明”,而是窗口内的控件透明。
everlose 2014-09-12
  • 打赏
  • 举报
回复
引用 1 楼 cancerser 的回复:
窗体前置 这个好办,topMost属性就可以 至于跟着动,这个就难办了 如果你能钩到游戏窗体移动事件就和那事件联动 如果钩不到的话……用api钩窗体吧,例如0.2秒钩一次(两次间隔0.2秒),发现位置变了就跟着算一下
TopMost我知道 但有一个问题 游戏窗体全屏下无效 有什么办法能在游戏全屏下 半透明窗体依然能够挡住游戏窗体
敌敌畏耶 2014-09-11
  • 打赏
  • 举报
回复
跟着移动的话,可以这样,先计算下 半透明窗体 距离 游戏窗体的坐标距离,如果游戏窗体的坐标改变,就立即改变半透明窗体窗体的坐标···这样试试····
敌敌畏耶 2014-09-11
  • 打赏
  • 举报
回复
窗体有个属性 TopMost,设置为 true··
cancerser 2014-09-11
  • 打赏
  • 举报
回复
窗体前置 这个好办,topMost属性就可以 至于跟着动,这个就难办了 如果你能钩到游戏窗体移动事件就和那事件联动 如果钩不到的话……用api钩窗体吧,例如0.2秒钩一次(两次间隔0.2秒),发现位置变了就跟着算一下

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧