WINCE 5.0下,VS2005 C# PICTUREBOX(插入图片),上的LABEL控件背景如何透明

时间:2021-07-20 17:52:53
WINCE 5.0下,VS2005 C# PICTUREBOX(插入图片),上的LABEL控件背景如何透明

5 个解决方案

#1


????求助高人!!!!

#2


改成web 颜色下的 transparent试试

#3


更改不了,选择以后自动回到“系统”---CONTROL

#4


在pictureBox的Paint事件中写下如下代码

private void pictureBox1_Paint(object sender, PaintEventArgs e)

        {

            foreach (Control C in this.Controls)

            {

                if (C is Label)

                {

                    Label L = (Label)C;

                   L.Visible = false;

                    e.Graphics.DrawString(L.Text, L.Font, new

          SolidBrush(L.ForeColor), L.Left - pictureBox1.Left, L.Top - pictureBox1.Top);

                }

            }

        }

或者在载入页面的时候在LOAD中写入下面代码:

pictureBox1.SendToBack();

            label1.BackColor = Color.Transparent;

            label1.Parent = pictureBox1;

            label1.BringToFront(); 

第一个方法较通用,WINCE上不支持透明属性也可以,但是要自己编写定位代码,他的原理只是找到当前PictureBox上所有的label控件 然后把他们置为不可视!然后重新用DrawString方法把TEXT输出! 

第二个方法只能再.net 完整版上实现 且 透明到Panel上 所有只能再Panel上添加图片然后放置!


........................................
搜了下,想试用第一种方法,可是我的PICTUREBOX事件里没有 PAINT事件,。。。。郁闷!!!1

#5


自己画吧。

#1


????求助高人!!!!

#2


改成web 颜色下的 transparent试试

#3


更改不了,选择以后自动回到“系统”---CONTROL

#4


在pictureBox的Paint事件中写下如下代码

private void pictureBox1_Paint(object sender, PaintEventArgs e)

        {

            foreach (Control C in this.Controls)

            {

                if (C is Label)

                {

                    Label L = (Label)C;

                   L.Visible = false;

                    e.Graphics.DrawString(L.Text, L.Font, new

          SolidBrush(L.ForeColor), L.Left - pictureBox1.Left, L.Top - pictureBox1.Top);

                }

            }

        }

或者在载入页面的时候在LOAD中写入下面代码:

pictureBox1.SendToBack();

            label1.BackColor = Color.Transparent;

            label1.Parent = pictureBox1;

            label1.BringToFront(); 

第一个方法较通用,WINCE上不支持透明属性也可以,但是要自己编写定位代码,他的原理只是找到当前PictureBox上所有的label控件 然后把他们置为不可视!然后重新用DrawString方法把TEXT输出! 

第二个方法只能再.net 完整版上实现 且 透明到Panel上 所有只能再Panel上添加图片然后放置!


........................................
搜了下,想试用第一种方法,可是我的PICTUREBOX事件里没有 PAINT事件,。。。。郁闷!!!1

#5


自己画吧。