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
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
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
自己画吧。