设置窗体透明C#代码

上个示例是C#调用windowsapi在原来代码上加入窗体透明,控件不透明代码:1usingSystem;2usingSystem.Runtime.InteropServices;3

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

上个示例是C#调用windows api

在原来代码上加入窗体透明,控件不透明代码:

透明

 1 using System;
 2 using System.Runtime.InteropServices;
 3 using System.Windows.Forms;
 4 
 5 namespace HoverTreeWinForm
 6 {
 7 public partial class FormHewenqi : Form
 8 {
 9 
10 /// <summary>
11 /// 使窗体透明 by 何问起
12 /// </summary>
13 protected override CreateParams CreateParams
14 {
15 get
16 {
17 
18 CreateParams parameter = base.CreateParams;
19 parameter.ExStyle |= 0x00080000;
20 return parameter;
21 
22 }
23 }
24 
25 /// <summary>
26 /// http://hovertree.com/h/bjaf/v4y0b2l6.htm
27 /// </summary>
28 /// <returns></returns>
29 [DllImport("User32.dll")]
30 public static extern int MessageBox(int h, string m, string c, int type);
31 public FormHewenqi()
32 {
33 InitializeComponent();
34 //使控件不透明
35 this.TransparencyKey = BackColor;
36 }
37 
38 private void button_hewenqi_Click(object sender, EventArgs e)
39 {
40 MessageBox(0, "Hello Win32 API HoverTree", "何问起网", 4);
41 }
42 
43 private void linkLabel_help_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
44 {
45 System.Diagnostics.Process.Start("http://hovertree.com/h/bjaf/v4y0b2l6.htm");
46 }
47 
48 private void button_hoverc_Click(object sender, EventArgs e)
49 {
50 //获取主窗体句柄
51 IntPtr h_handle = HewenqiUser32.GetCurrentWindowHandle();
52 int h_jubing = 0; ;
53 if (h_handle != IntPtr.Zero)
54 h_jubing = (int)(h_handle);
55 MessageBox(h_jubing, "Hello hovertree.com", "欢迎光临何问起", 4);
56 }
57 }
58 }

1、先把窗体的颜色变成一种很不常见的颜色。 
2、把该窗体的TransparecyKey的颜色设置成窗体的颜色。 
3、加入控件,但是控件的颜色不能和窗体颜色一致,否则控件也透明。 
运行程序后,就只能看见标题栏和控件了。

转自:http://hovertree.com/h/bjaf/i3lp7ay0.htm

演示下载:http://pan.baidu.com/s/1mhfgJ6C g56m

源码下载:https://github.com/shangyuxian/HoverTree

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120656.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 制作整人计算机病毒,bat整人电脑病毒代码是怎样的.docx[通俗易懂]

    制作整人计算机病毒,bat整人电脑病毒代码是怎样的.docx[通俗易懂]2019年bat整人电脑病毒代码是怎样的篇一:一些bat恶搞代码?第一个:让别人内存OVER(逼他重启)?@echooff?startcmd?%0?就这3行了?第二个:让对方重启指定次数(害人专用)?@echooff?ifnotexistc:\1.txtecho.>c:\1.txt&gotoerr1?ifnotexistc:\2.txtecho.>c:\2.txt&go…

    2022年7月14日
    17
  • MemWatch的使用「建议收藏」

    MemWatch的使用「建议收藏」博主的新Blog地址:http://www.brantchen.com欢迎訪问:)      linux下的測试工具真是少之又少,还不好用,近期试用了memwatch,感觉网上的介绍不太好,所以放在这里跟大家分享 。事实上大部分都是看的帮助,非常多地方翻译得不好还有错,请原谅指出最好看原文。假设转载或引用,请注

    2022年7月13日
    17
  • Centos 6.9_centos iptables

    Centos 6.9_centos iptables规则集类型hash:net#创建网络规则集(可以是是网段或者IP)hash:net,port#创建网络规则集,带端口,基础用法ipsetcreatefwhash:net#创建规则集ipsetaddfw10.0.0.0/24#给新加的规则添加IP段ipsetdelfw10.68.22.1/24#删除IPi…

    2022年10月6日
    2
  • N皇后问题_Java递归解决N皇后问题

    N皇后问题_Java递归解决N皇后问题18124 N皇后问题时间限制:2000MS 内存限制:65535K提交次数:0通过次数:0题型:编程题   语言:G++;GCC;VCDescription有N*N的国际象棋棋盘,要求在上面放N个皇后,要求任意两个皇后不会互杀,有多少种不同的放法?输入格式每一个数为T,代表CASE的数量,T<=13此后,每行一个数N(13>=N>0)

    2022年9月29日
    2
  • SSL连接建立过程分析(1)

    SSL连接建立过程分析(1)

    2021年12月8日
    49
  • 网页title图标_php 数据库显示在页面并能修改

    网页title图标_php 数据库显示在页面并能修改在生成的pdf文件的页眉设置logo有以下解决方案重新定义TCPDF中的K_PATH_IMAGES常量(define(‘K_PATH_IMAGES’,xxxx),需要定义在加载tcpdf.php之前)##示例$logo=”xxxx”;//相对地址$pdf->SetHeaderData(PDF_HEADER_LOGO,PDF_HEADER_LOGO_WIDTH,”标题”,…

    2025年9月5日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号