c#实现label和按钮透明

在此介绍的label和按钮透明是借助第三方控件的方式,假设现有项目是TestDurban,需要引用的第三方控件项目的名称是AlphaMobileControls。

首先,需要引入第三方控件,步骤如下,文件——添加——现有项目,找到对应的文件(本例为AlphaMobileControls.csproj),这时解决方案资源管理器会显示有两个项目。

其次,设置项目依赖性。在解决方案资源管理器中右击任一项目,选择项目依赖性,如下图所示进行设置,设置完毕之后选择项目——添加引用中的项目选项卡即可以看到刚才添加的项目。

第三,右击AlphaMobileControls,选择重新生成,此步骤的作用类似于编译,将引入的项目重新生成一下。

第四,添加对相应dll文件的引用,项目——添加引用,选择浏览选项卡,在此项目中是选择AlphaMobileControls.dll文件。

第五,添加对项目类包的引用,在需要对label和按钮进行透明化处理的页面加入using AlphaMobileControls和using System.Reflection;并且所有的form需要继承AlphaMobileControls.AlphaForm(替代原来的Form)。

第六,根据我们项目需要,最底层加入一个TabControl,之后依次是AlphaPanel,AlphaPictureBox,然后即是AlphaLabel或者AlphaImageButton,

 

alphaLabel1.Text = "Alpha Mobile Controls";

bgPixBox.Image = AlphaImage.CreateFromResource("TestDurban.Resources.Wallpaper.jpg");
btn1.BackgroundImage = AlphaImage.CreateFromResource("TestDurban.Resources.Btn1.png");
btn1.ActiveBackgroundImage = AlphaImage.CreateFromResource("TestDurban.Resources.Btn1_Pushed.png");
btn1.DisabledBackgroundImage = AlphaImage.CreateFromResource("TestDurban.Resources.Btn1_Disabled.png");

 

在这一步中,很关键的一个步骤是需要将所有图片设为嵌入的资源,否则会出现空指针错误。设为嵌入的资源的方法选中图片,将其属性中的生成操作改为嵌入的资源。至此基本就可以完成了,可能稍有疏漏,不过基本就如此。

Ps:出现错误提示:无法直接启动带有“类库输出类型”的项目,若要调试此项目,请在此解决方案中添加一个引用库项目的可执行项目。将这个可执行项目设置为启动项"//错误信息
出错原因:在同一个解决方案里面有多个项目,被设置成启动项目的是类库项目,类库项目是被编译成dll文件给别的项目使用的,是不可执行的项目
解决办法:在解决方案资源管理器里,右击你要启动的项目,选择“设为启动项目”

posted @ 2009-08-14 17:13  张兴业  阅读(371)  评论(0编辑  收藏  举报