.Net2.0 半透明控件实现?需求请进来见详细描述!

melancholylp 2009-12-11 11:11:42
我的想法是: 自己建立一个UserControl,这个控件背景半透明,并且控件上的其它控件最好也能半透明,然后这个UserControl被放到窗体上用的时候,要求透过这个UserControl可以看到窗体上任何东西,包括背景和窗体上被这个UserControl所盖住的所有控件!我目前实现的最大程度就是透明窗体的背景,但是窗体上被盖住的控件看不到。 虽然我实现过可以看到所有东西,但是有很多小BUG,不太理想, 想寻求一种全新的方法, 希望高手能赐教!谢谢!
...全文
292 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
windxx 2009-12-11
  • 打赏
  • 举报
回复
所有控件指定成一种颜色还有什么应用价值。。。.net 2.0是不能透视控件的(自带功能),只能透视背景,可尝试其他公司提供的控件,另外如果重绘也很难解决,因为很多.net 2.0的控件不支持onPaint或者重绘效果不理想,要是透明,暂时只能自己定义控件,用dx做,可以加入dx的精灵或者干脆就自己写一个类,基本就是一个图片或者什么的,实现你的功能,然后定义半透明,dx透明还是比较容易的,不过你后边的控件也要是使用dx做的,否则也不行,所以非常麻烦,这个问题很多人遇到,说明真的应用很多的,为什么ms不做好了呢,太郁闷了。
cstester 2009-12-11
  • 打赏
  • 举报
回复
把所有控件的颜色 都指向同一个颜色 比如是 Control

假设窗体上有button1,panel1,事例代码:
把所有控件都设置成SystemColors.Control 背景颜色。

public UserControl1()
{
InitializeComponent();
//设置背景颜色的透明度 。值:0-255。
this.BackColor = Color.FromArgb(112, SystemColors.Control);
button1.BackColor =Color.FromArgb(80,SystemColors.Control);
panel1.BackColor =Color.FromArgb(90,SystemColors.Control);
}




惜玉 2009-12-11
  • 打赏
  • 举报
回复
网上很多方式都只是透了窗体的背景, 但是窗体上的控件还是看不到, 会被挡. 没有一种方法能让自己的控件透掉窗体上所有的东西?
guanmingle 2009-12-11
  • 打赏
  • 举报
回复
试试DotNetBar2
wartim 2009-12-11
  • 打赏
  • 举报
回复
换成form,边框none,透明度0.5
dylike 2009-12-11
  • 打赏
  • 举报
回复
如果不是做特效,还是省点内存吧.
惜玉 2009-12-11
  • 打赏
  • 举报
回复
拼死拼活搞出来的这个效果, 因为一些小问题, 不能用上, 遗憾.
惜玉 2009-12-11
  • 打赏
  • 举报
回复
全透代码其实很简单,我把代码发出来:
1.新建一个UserControl后, 设置控件风格

//设置控件的风格
this.SetStyle(
ControlStyles.Opaque |
ControlStyles.UserPaint |
ControlStyles.AllPaintingInWmPaint |
ControlStyles.SupportsTransparentBackColor |
ControlStyles.OptimizedDoubleBuffer
, true);


2.重载OnPaint事件:

using (SolidBrush brush = new SolidBrush(Color.FromArgb(128, this.BackColor)))
{
e.Graphics.FillRectangle(brush, this.ClientRectangle);
}



3.最后重载构建参数属性:
        
/// <summary>
/// 重载窗体风格参数构建
/// </summary>
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= (int)Global.WS_EX_TRANSPARENT; //这个值为:0x00000020
return cp;
}
}


4. 生成, 并把控件放到窗体上,不出意外的应该是透到了窗体上所有被这个控件盖住的东西.
wangkuang5 2009-12-11
  • 打赏
  • 举报
回复
可以给份代码不?学习了,谢谢!
wangkuang5@163.com
惜玉 2009-12-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 windxx 的回复:]
所有控件指定成一种颜色还有什么应用价值。。。.net 2.0是不能透视控件的(自带功能),只能透视背景,可尝试其他公司提供的控件,另外如果重绘也很难解决,因为很多.net 2.0的控件不支持onPaint或者重绘效果不理想,要是透明,暂时只能自己定义控件,用dx做,可以加入dx的精灵或者干脆就自己写一个类,基本就是一个图片或者什么的,实现你的功能,然后定义半透明,dx透明还是比较容易的,不过你后边?-
[/Quote]

这位兄台说的太对了, 虽然我不知道怎么用DX做, 但是你说的.Net不好做, 我非常同意, 我用.Net全透是实现了的, 但是怎么样都会有点小BUG,不完美. 期待真正的高手出现.
内容概要:本文针对传统三电平并网逆变器存在的谐波含量高、电网不平衡工况适应性差及动态响应滞后等问题,提出了一种基于有源中点箝位(ANPC)三电平逆变器的高性能并网控制策略。该策略融合了双极性倍频脉宽调制(DPWMA)、正负序分离锁相技术和电网电压前馈控制,构建了“精准同步-扰动补偿-优质调制”的一体化控制体系。通过Simulink搭建仿真模型,在稳态对称、电网不平衡及动态扰动等多种工况下进行验证,结果表明该复合控制策略能显著降低并网电流谐波,提升锁相精度,有效抑制功率波动,并大幅缩短系统动态调节时间,增强了逆变器在复杂电网环境下的稳定性与适应性。; 适合人群:从事电力电子、新能源并网、智能电网等相关领域的科研人员及工程技术人员,尤其适合具备一定MATLAB/Simulink仿真基础、专注于并网逆变器控制策略研究的研发人员; 使用场景及目标:①用于提升大功率并网逆变器在电网电压不平衡、骤升骤降等非理想工况下的运行性能;②为ANPC拓扑结构与先进控制算法(如DPWMA、前馈-反馈复合控制)的协同优化提供仿真依据和技术参考;③适用于新能源发电系统、工业变流装置等对电能质量和动态响应要求较高的应用场景; 阅读建议:建议读者结合文中提出的控制架构图与仿真模型逐步复现,重点关注DPWMA调制实现、正负序分离锁相环设计及前馈补偿环节的参数整定,同时通过多工况仿真对比分析各项性能指标,深入理解各模块间的协同作用机制。
内容概要:本文以ANPC三电平并网逆变器为研究对象,提出了一种融合双极性倍频脉宽调制(DPWMA)、正负序分离锁相与电网电压前馈控制的高性能并网控制策略。通过对ANPC拓扑结构的分析,阐明其在开关损耗均衡、中点电位稳定和低输出谐波方面的硬件优势,为高质量并网奠定基础。在此基础上,DPWMA调制策略有效提升输出波形的等效开关频率,显著降低谐波含量;正负序分离锁相技术可精准提取电网正序分量,克服电网不平衡导致的锁相失真与电流不对称问题;电网电压前馈控制则增强系统对动态扰动的响应能力,缩短调节时间。文章构建了“信号采集—核心控制—调制驱动”的三层协同控制架构,并通过多工况仿真验证了该策略在稳态、不平衡及动态扰动条件下的优越性能,结果表明系统具备优异的电能质量、运行稳定性与抗扰能力。; 适合人群:电力电子、新能源并网、自动控制等相关领域的科研人员、研究生及从事逆变器设计与控制的工程技术人员。; 使用场景及目标:① 提升大功率并网逆变器在复杂电网环境下的运行稳定性与电能质量;② 解决电网电压不平衡、谐波畸变、电压骤变等工况下的锁相失真与电流不对称问题;③ 优化动态响应性能,应用于新能源发电、工业变流器等高可靠性要求场景; 阅读建议:建议结合Matlab/Simulink仿真平台,复现文中控制策略与仿真模型,重点理解DPWMA调制实现方法、正负序分离锁相环设计及前馈-反馈复合控制结构的协同机制,并通过不同扰动工况测试系统鲁棒性。
内容概要:本文研究了基于Q-Learning自适应强化学习的PID控制器在自主水下航行器(AUV)运动控制中的应用,旨在提升水下机器人在复杂、非线性及动态变化海洋环境中的控制精度与自适应能力。通过将强化学习算法与传统PID控制深度融合,构建了一种能够在线自主调整PID参数的智能控制框架,有效克服了传统PID控制器在面对模型不确定性、外部干扰和时变系统特性时适应性不足的问题。研究详细阐述了AUV的动力学建模过程,并精心设计了Q-Learning算法的状态空间、动作空间与奖励函数,使其能在Matlab仿真环境中通过不断的交互试错进行学习与优化,最终实现对航向角、深度等关键运动姿态的高精度、强鲁棒性控制。仿真结果充分验证了该方法在响应速度、稳态精度和抗干扰性能方面相较于传统方法的显著优越性,为智能水下装备的自主决策与控制提供了重要的理论依据和技术路径。; 适合人群:具备自动控制理论基础、强化学习初步知识及MATLAB编程能力的研究生、科研人员及从事智能机器人、无人系统控制开发的工程师。; 使用场景及目标:①应用于水下机器人、无人潜航器等复杂动态系统的智能控制设计;②解决传统PID控制器参数整定困难、环境适应性差和鲁棒性不足的关键问题;③推动强化学习等人工智能技术在实际工程控制系统中的落地应用、性能优化与可靠性验证。; 阅读建议:建议读者结合提供的Matlab代码进行仿真实践,重点关注Q-Learning与PID的耦合机制、状态量与奖励函数的设计原则,深入理解智能控制策略的训练收敛过程、超参数敏感性及其在不同工况下的性能表现。

111,129

社区成员

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

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

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