C#如何设置Forms背景颜色透明
C#实现Windows Form的透明背景用下面这段代码能实现非常有意思真正的透明背景,透明的地方不仅能显示其下一层的图案,而且能让鼠标穿越过去,成为真正的透明化。
注释掉的3行中,前2行代码是实现透明效果的另外第一个办法,最后1行是第三种办法。
但第一个方法根本不起作用,因为Windows Form所用“调色板”是“系统调色板”,即SystemColors,仅当SystemColors里面包含Transparent这个颜色才能显示出透明背景效果。
第三个设置Opacity的方法是将整个ClientWindow上的所有东西全部透明化,而不仅仅是背景,如果设置为0,则是完全透明,但整个程序该显示的部分也都透明了,意味着程序变得找不着了。
第二种办法可以实现透明化。
namespace DesktopClock
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//SetStyle(ControlStyles.SupportsTransparentBackColor, true);
//this.BackColor=Color.Transparent;
this.BackColor = Color.White;
this.TransparencyKey = Color.White;
//this.Opacity = 0.5;
}
}
}
当开发一个透明软件的时候,比如QQ之类的,还需要设置一个窗体的属性this.FormBorderStyle=FormBorderStyle.None,意思是去掉标题栏
相关文档:
public sealed class DbOper
{
///<summary>
/// DbOper类的构造函数
///</summary>
private DbOper()
{
}
......
大家在实际工作学习C#的时候,可能会问:为什么我们要为一些已经存在的功能(比如Windows中的一些功能,C++中已经编写好的一些方法)要重新编写代码,C#有没有方法可以直接都用这些原本已经存在的功能呢?答案是肯定的,大家可以通过C#中的DllImport直接调用这些功能。
DllImport所在的名字空间 using System.Runt ......
//命名空间 using Microsoft.Win32;
private void checkBox2_CheckedChanged(object sender, System.EventArgs e)
{
if (checkBox2.Checked) //设置开机自启动
{
//MessageBox.Show ("设置开机自启动需要修改注册表","提示");
string path = Application.ExecutablePath;
RegistryKey rk = Registry.LocalMac ......
参考资料:http://wenwen.soso.com/z/q39607884.htm
如何在一个窗体中调用另一个窗体的控件或方法
答案是从构造函数中传递参数。
要把Form1中的控间改成public属性
具体实现过程请参看一下代码(在form2的textbox1中输入然后在form1中的label1中显示textbox中的内容
//form1代码,form1中有一个label1和一个button1,其 ......
C# CHM帮助文档生成工具-Sandcastle
为了让我们的开发团队规范文档,并易于交流,最终使用了Sandcastle生成chm格式文档。
一、下载。
我发现有两种Sandcastle可供下载,一个是官方的Sandcastle,另一个是SandcastleGUI(图形界面的)。
前一个是必须安装的,然后再下载个SandcastleGUI,直接使用即可,下载地址为:
......