C# WinForm设置透明

1:通过设置窗体的 TransparencyKey实现 
   例:窗体中的白色会变成透明

this.BackColor =Color.White; this.TransparencyKey = Color.White;

TransparencyKey只支持透明或不透明,不支持过度色,比如PNG图片中的从不透明到透明的过渡色会显示出讨厌的效果

2:通过设置窗体的 Opacity 实现

  例:窗体的透明度为50%

this.Opacity = 0.5;

Opacity,我们发现它的显示效果很好,不存在TransparencyKey的过度色问题,但是Opacity设置的是窗体的透明度,和普通窗口相比,只是透明度不同而已,其他没有区别。如果你把通过Opacity制作的透明窗体盖在其他程序的窗口上,你看得到后面的窗口,却没法直接操作后面的窗体。并且该窗口上所有的控件也会产生透明效果,无法单独控制。

不管TransparencyKey的实现,还是Opacity的实现,其实都是对SetLayeredWindowAttributes()函数的封装,只是参数不同而已

3、有些情况下满足不了需要,这里再提供2种方法供参考: UpdateLayeredWindow()和GraphicsPath。

具体查看:http://www.cnblogs.com/jxsoft/archive/2011/03/09/1978156.html

时间: 2024-08-02 18:23:44

C# WinForm设置透明的相关文章

c# winform 设置winform进入窗口后在文本框里的默认焦点

http://www.cnblogs.com/JuneZhang/archive/2011/04/19/2020585.html 进入窗口后默认聚焦到某个文本框,两种方法: ①设置tabindex 把该文本框属性里的tabIndex设为0,焦点就默认在这个文本框里了. ②Winform的Activated事件 在Form的Activated事件中添加textBox1.Focus(), 即可获得焦点. ? private void Form1_Activated(object sender, Ev

Android给TextView和EditText等控件设置透明背景、圆角边框

第一种方法:在drawable文件夹下新建一个文件设置背景样式 代码: 在drawable文件夹下面新建textviewborder.xml <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#80858

Qt 设置透明按钮其实很简单

Qt 设置透明按钮其实很简单 [复制链接] QT控件设计  艺术人生 QT设置透明按钮 一定没有想到竟然是一句话 QPushButton *bt =new QPushButton(this); bt->setText("ok"); bt->move(200,100); bt->setFlat(true);//就是这句能够实现透明,真是意外的发现,希望对一些学习的朋友有点帮助 复制代码

WinForm设置DataGridView某些行和列只读

WinForm设置DataGridView某些行和列的只读 列只读设置比较容易,行只读设置要求将SelectionMode设置为CellSelect,EditMode设置为EditOnEnter . '--DataGridView1控件的初始化设置(在数据绑定前设置,load事件中) Private Sub InitDataGrid1() Me.GridView1.ReadOnly = False '设置非只读 Me.GridView1.SelectionMode = DataGridViewS

将NavigationBar设置透明

将NavigationBar设置透明(仅将指定视图控制器进行透明处理),步骤如下:1.在视图控制器的头文件中实现UINavigationControllerDelegate,例如:@interface PicturePreviewViewController : UIViewController<UINavigationControllerDelegate>2.在实现类中加入这个代理的方法及具体操作如下:- (void) navigationController:(UINavigationCo

Android设置透明、半透明等效果

设置透明效果 大概有三种 1.用android系统的透明效果 Java代码 android:background="@android:color/transparent" 例如 设置按钮 Java代码 <Button android:background="@android:color/transparent" android:text="@+id/Button01" android:id="@+id/Button01"

自定义导航栏--将NavigationBar设置透明

将NavigationBar设置透明(仅将指定视图控制器进行透明处理),步骤如下:1.在视图控制器的头文件中实现UINavigationControllerDelegate,例如:@interface PicturePreviewViewController : UIViewController<UINavigationControllerDelegate> 2.在实现类中加入这个代理的方法及具体操作如下: 1 - (void) navigationController:(UINavigati

Android给TextView设置透明背景、圆角边框

第一种方法:在drawable文件夹下新建一个文件设置背景样式 代码: 在drawable文件夹下面新建text_view_border.xml [java] view plaincopy <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid an

透明度--设置透明、半透明等效果

设置透明效果 大概有三种. 1.用android系统的透明效果: android:background="@android:color/transparent" 例如 设置按钮 <Button android:background="@android:color/transparent" android:textColor="#ffffff" /> 2.用ARGB来控制 半透明<Button android:background