不知道微软扯什么拉鸡蛋子,居然有控件不支持透明,我实在想喷设计的人脑残。尤其可恨的是TextBox不支持,更可恨的是直到最新版.net4.6也不支持。源码又看不见,具体实现细节都不知道,谁能改得动?这也难怪C#会被java大军淹没。不是C#不好,是很多细节没到位。

解决方案一:

重写一个TextBox:

 

public class TransTextBox : TextBox

{
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
static extern IntPtr LoadLibrary(string lpFileName);

protected override CreateParams CreateParams

{

get

{

CreateParams prams = base.CreateParams;

if (LoadLibrary("msftedit.dll") != IntPtr.Zero)

{

prams.ExStyle |= 0x020;

prams.ClassName = "RICHEDIT50W";

}

return prams;

}

}

}

为什么可以,我不知道,我只是代码的搬运工。然而,这个方案是有所缺陷的。

如果你是大神,可以自己定义出一个全新的TextBox。然后以下就是两种开源的透明的TextBox控件:

需要账号才能下载。可以用github授权登陆。

解决方案二:

AlphaBlendTextBox - A transparent/translucent textbox for .NET:

https://www.codeproject.com/Articles/4390/AlphaBlendTextBox-A-transparent-translucent-textbo

解决方案三:

Alpha Blended (Transparent Capable) TextBox and RichTextBox:

https://www.codeproject.com/kb/edit/alphablendedtextcontrols.aspx

最后就是,看清楚,看清楚是winfrom,不是别的。网上那什么:

this.SetStyle(ControlStyles.SupportsTransparentBackColor | ControlStyles.UserPaint, true);

或者直接设置:

base.BackColor = Color.Transparent;    (具体可看我前面文章有说明)

卧槽,尼们测试过吗》》》瞎扯得蛋疼。

还有利用form透明来设置的,那么多年了,代码在哪里?一个实现都没有。也是瞎搞,不实际的方案。

——end

出处:https://blog.csdn.net/Mingyueyixi/article/details/55176809

解决winfrom下TextBox不支持透明背景色的更多相关文章

  1. 解决ie6下png背景不能透明bug

    /*第一种方法:通过滤镜 使用css解决的办法. 注意滤镜下的1像素透明gif的覆盖图片的路径是相对页面写的*/ /*注意:这个方法不适合处理img标签引入的png图片,代码太冗余了*/ .banne ...

  2. 解决 aspx 页面 TextBox 不支持 type="number"

    安装 framework 4 并且打上补丁 Microsoft .NET Framework 4 可靠性更新 1 (KB2533523) https://www.microsoft.com/zh-cn ...

  3. 解决IE6下png图片不透明

    ie6着实是非常让人讨厌,显示一张图片,也要带着灰白色的背景色,一张好好的png图片就这么不透明了. 用n多中网上的方式,差点成功的就还有这个了 _background: none; _filter: ...

  4. 解决IE6下不支持 png24的透明图片问题

    常用的两种解决方案: 第一:使用IE滤镜解决 关键代码: css代码  _background:none;_filter:progid:DXImageTransform.Microsoft.Alpha ...

  5. 解决IE6下PNG透明的JS插件:DD_belatedPNG.js

    DD_belatedPNG是一款解决IE6下PNG透明的JS插件,支持background-position和background-repeat属性,支持伪类.使用方法: <!--[if lte ...

  6. 解决全站ie6下PNG图片不透明问题只要几行代码

    解决全站ie6下PNG图片不透明问题只要复制下面这几行代码粘贴在你的文档最底部,需要用到的包DD_belatedPNG_0.0.8a.js自己网上下载吧 代码走起 /*在文档底部加入以下代码*/ &l ...

  7. 解决IE6下png图片透明度不显示的问题

    世界上最遥远的距离,不外乎我在搞前端,你却在用旧IE,现在随着XP要退休了,IE6的市场占有率应该也会逐步下滑.不过基于天朝人民的惰性以及企鹅微软的“扎篱笆”活动,做网站的朋友依旧不能忽视IE6的存在 ...

  8. 解决IE6下浮动层固定定位的经典方法

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. NSIS:简单按钮美化插件SkinButton,支持透明PNG图片。

    原文 NSIS:简单按钮美化插件SkinButton,支持透明PNG图片. 征得作者贾可的同意,特发布按钮美化插件SkinButton. 插件说明: 使用GDI+库写的一个简单按钮美化插件,支持透明P ...

随机推荐

  1. Unicode与中文转换工具类方法(转)

    /* * 中文转unicode编码 */ public static String gbEncoding(final String gbString) { char[] utfBytes = gbSt ...

  2. log4j的参数配置(转)

    转载:log4j.properties文件各参数含义与配置   以下是配置文件log4j.properties的一些属性: log4j.rootLogger=WARN, stdout, Rlog4j. ...

  3. synchronized(六)

    package com.bjsxt.base.sync006;/** * 锁对象的改变问题 * @author alienware * */public class ChangeLock { priv ...

  4. day 96 关于分页的使用

    分页的学习主要四步骤 from django.db import models # Create your models here. class Book(models.Model): title = ...

  5. day 36 关于io模型的问题 阻塞 和多路复用

    # from gevent import spawn,monkey;monkey.patch_all()# from socket import *# def server(ip,port):# se ...

  6. Python&selenium&tesseract自动化测试随机码、验证码(Captcha)的OCR识别解决方案参考

    在自动化测试或者安全渗透测试中,Captcha验证码的问题经常困扰我们,还好现在OCR和AI逐渐发展起来,在这块解决上越来越支撑到位. 我推荐的几种方式,一种是对于简单的验证码,用开源的一些OCR图片 ...

  7. JavaScript , js 上下文(this 的指代)

    上下文 代表 this 变量的值, 以及 它的 指代; 它决定一个函数怎么被调用; 当一个函数作为一个对象的方法被调用的时候, this总是指向 调用这个方法的对象. ----- 1 ,情况一: 字面 ...

  8. 小白学习Python遇到的一些2.7与3.X之间的不同问题

    1.输入字母出错问题 原本跟着视频一起学习,currency_str_value=input(‘请输入带单位货币金额’) 但是运行的时候,输入数字就没有问题,只要带上了字母就会报错,后来百度,pyth ...

  9. 后门技术(HOOK篇)之DT_RPATH

    0x01 GNU ld.so动态库搜索路径 参考材料:https://en.wikipedia.org/wiki/Rpath 下面介绍GNU ld.so加载动态库的先后顺序: LD_PRELOAD环境 ...

  10. HTTP基本原理(转)

    1. HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议.它可以使浏览器更加高效,使网络传输减少. ...