textbox在c#中怎么添加背景图片??
背景图片! --------------------编程问答-------------------- this.TextBox1.Attributes.Add ( "style", "background:url(http://www.hao123.com/logo.gif)" ); --------------------编程问答-------------------- 是winform的,没有attributes属性,谢谢 --------------------编程问答-------------------- 用textBox添加图片 有创意 哈哈 --------------------编程问答-------------------- 关注下…… --------------------编程问答-------------------- 纳闷儿了,textbox还要背景图片干啥? --------------------编程问答-------------------- 呵呵 --------------------编程问答-------------------- 我要实现这样的菜单,下拉菜单要有背景图片,我不知道用什么控件可以实现.图片有上圆弧和下圆弧.是winform --------------------编程问答-------------------- 当点击mass balance时会弹出灰色部分的菜单.灰色菜单上会有文字.这个东西对界面的美观要求很高.好多控件都不能添加背景图片.有哪位有这方面的经验,给点思路吧 --------------------编程问答-------------------- 思路:1、最简单的——向TextBox里添加一个PictureBox,往里摁图片进去,不知道效果怎么样,没试过,想当然的!
2、继承——重写OnPaint方法,自己画上去!
3、把图印在透明胶纸上,点的时候把透明胶纸贴在屏幕上(注意适时更换对应胶纸) --------------------编程问答-------------------- 改了个VC++的来,问题是XP里没有WM_CTLCOLOR通知了,搞了半天没搞明白。。。
--------------------编程问答-------------------- --------------------编程问答-------------------- 可惜,还是看不太明白 --------------------编程问答-------------------- .username{
===========================从textbox类继承处理绘制背景消息====================
class MyTextBox : TextBox
{
const int WM_ERASEBKGND = 0x0014;
private Image backImage;
[DisplayName("背景图片。")]
public Image BackImage
{
get { return backImage; }
set { backImage = value; }
}
protected void OnEraseBkgnd(Graphics gs)
{
gs.FillRectangle(Brushes.White, 0, 0, this.Width, this.Height); //填充为白色,防止图片太小出现重影
if (backImage != null) gs.DrawImage(backImage, 0, 0); //绘制背景。
gs.Dispose();
}
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_ERASEBKGND) //绘制背景
{
OnEraseBkgnd(Graphics.FromHdc(m.WParam));
m.Result = (IntPtr)1;
}
base.WndProc(ref m);
}
}
==================窗口类里设置控件的字体颜色等=============================
const int WM_CTLCOLOREDIT = 0x0133;
const int TRANSPARENT = 0x1;
const int NULL_BRUSH = 0x5;
[DllImport("gdi32")]
static extern int SetBkMode(IntPtr hdc, int bkMode);
[DllImport("gdi32")]
static extern int SetTextColor(IntPtr hdc, int color);
[DllImport("gdi32")]
static extern IntPtr GetStockObject(int fnobject);
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_CTLCOLOREDIT && m.LParam == myTextBox1.Handle)//类型为EDIT(TextBox)
{
SetBkMode(m.WParam, TRANSPARENT);//设置背景透明
SetTextColor(m.WParam,0xFF); //字体颜色为红色
m.Result = GetStockObject(NULL_BRUSH);
return;
}
else base.WndProc(ref m);
}
background-image:url(images/username.gif);
background-position: 1px 1px;
background-repeat:no-repeat;
padding-left:20px;
height:20px;
FONT-SIZE: 12px;}
<input name="Username" type="text" class="username" size="30">
补充:.NET技术 , C#