PDA开发之控件背景不透明的解决办法
来源:互联网 发布:mac视频格式转换软件 编辑:程序博客网 时间:2024/05/16 05:58
在PDA应用开发时会遇到一个问题:在窗体上加上一个背景图片,用label控件写字的时候会出现控件背景不透明的情况,导致最后显示窗体的时候会出现字体像嵌在一个控件上,相当难看。
产生这种问题的原因是在PDA上用来开发的.net compact framework把控件透明这项给精简去了,也就是说没有这项功能了。这可真挠头了。想了一下觉得有三种解决办法:1、自己写一个控件实现背景透明效果;2、下载一个第三方有背景透明效果的控件;3、直接在窗体控件上绘字。
第一种办法试过,完全没效果。其实我还存有一点幻想,想象可以通过写一个控件来实现这种效果。反复实验以后发现这种控件的透明还真是彻底,直接穿透窗体把PDA的背景给显示出来了。真是过犹不及。
第二种方法google了半天倒是有,但是好像国内没有提供这种控件的,反而是国外有但是要收费。收费的当然不予考虑了。也许有人说了,去opennetcf上面肯定找的到。对不起,我也试过,那些控件载入图片还可以,要实现背景透明那是一个也没有。
没办法只能直接在窗体上绘图了,因为绘字的话对于窗体上的XY坐标那是没什么用的,完全靠实践来判断字体的坐标,因此在上面具体位置写字也是相当麻烦。不过效果还好,只能这样了。
那最后来介绍一下这最后一种方法:我用的开发工具是VS 2005.net c#开发。
在窗体设计器中添加绘图事件:
this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form_Paint);
在事件方法中添加背景图片及在图片上要绘的字:
private void Form_Paint(object sender, PaintEventArgs e)
{
Bitmap image = new Bitmap(Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName) + "//Images//background.jpg");//当前工作目录下的你的Images文件夹下的background.jpg文件
e.Graphics.DrawImage(image, 0, 0);//载入背景图
//绘字:基本上是以(10,10)为一个字的大小
SolidBrush white = new SolidBrush(Color.White);//设置字体颜色
Font f = new Font("Tahoma", 9, FontStyle.Regular);//设置字体类型
e.Graphics.DrawString("mobile", f, white, 23, 59);//绘字mobile; //(23,59)是坐标
}
- PDA开发之控件背景不透明的解决办法
- CodeIgniter中PNG图片处理背景不透明问题的解决办法
- qgraphicsView设置背景透明,控件不透明
- flash在ie下面,加了transparent,背景仍不透明的解决办法
- C#绘制半透明窗体,只让窗体背景半透明,而窗体里面的控件不透明
- PDA项目的开发
- 背景半透明边框不透明的布局
- 导航栏的背景为不透明
- 兼容ie6的背景透明文字不透明
- 背景透明,文字不透明的做法
- IOS8以上或以下 presentViewController 背景不透明解决办法
- [VC中对话框窗体背景透明而控件不透明]
- CSS实现背景透明而背景上的文字不透明
- IE中PNG格式不透明的解决办法
- IE6中png背景图片不透明的解决办法
- ie6里png图片不透明的解决办法
- 放眼PDA开发的未来
- 我的PDA开发经历
- 远离内存不能为read
- 如何用计算机发财
- 想要成功的30条忠告
- sqlserver2008存储过程调试 T-SQL DEBUGGER
- 回家
- PDA开发之控件背景不透明的解决办法
- Linux下软件的安装与卸载
- 关于学习Silverlight2.0的重要声明 ^_^
- Silverlight2.0运行平台的安装
- POJ 1142 Smith Numbers
- 第01课 创建一个基本的Silverlight应用
- 新手入道,留帖纪念
- java小练习(11)--进制转化(BigInteger高级)
- 惊心动魄的小学期,不平凡的85天!