当前位置:  开发笔记 > 编程语言 > 正文

单击Visual C#Window Forms的透明度?

如何解决《单击VisualC#WindowForms的透明度?》经验,为你挑选了1个好方法。

我制作了一个面板并将其设置为填满屏幕,现在我可以看到它下面的窗口,但我希望它能够点击,这意味着他们可以通过透明度单击文件或查看另一个对象的工具提示.

RE:这可能太明显了,但您是否尝试通过右键单击并选择"Send to Back"将面板发送到后面?

我的意思是像桌面或Firefox,而不是我的项目中的东西.



1> Phil Wright..:

创建透明的顶级表单非常容易.只需填充屏幕或所需区域,并将其定义为具有相同值的TransparenyKey颜色和BackColor.

让它忽略鼠标很简单,你只需要覆盖WndProc并告诉WM_HITTEST所有鼠标位置都被视为透明.从而使鼠标与窗口下面发生的任何事情进行交互.像这样......

    protected override void WndProc(ref Message m)
    {
        if (m.Msg == (int)WM_NCHITTEST)
            m.Result = (IntPtr)HTTRANSPARENT;
        else
            base.WndProc(ref m);
    }


该代码放在哪里?当我将它放在InitializeCoponets下时,它不起作用。我什至不打一次电话。
推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有