C#编写带提示文本框
作者:
2012-04-04 09:17:34
分类:
Delphi
标签:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsControlLibrary1
{
public partial class UserControl1 : UserControl
{
private string initText; // 初始化提示
public UserControl1()
{
InitializeComponent();
}
///
/// 使文本框大小随控件变化。
///
///
///
private void UserControl1_Resize(object sender, EventArgs e)
{
textBox1.Top = 0;
textBox1.Left = 0;
textBox1.Width = this.Width;
this.Height = textBox1.Height;
}
///
/// 控件高度随文本框变化。
///
///
///
private void textBox1_SizeChanged(object sender, EventArgs e)
{
this.Height = textBox1.Height;
}
///
/// 属性:获取及设置初始化提示文本。
///
public String InitText
{
get
{
return initText;
}
set
{
initText = value;
setGrayText(true);
}
}
///
/// 设置灰色显示的初始化提示文本或者正常颜色文本。
///
///
private void setGrayText(bool p)
{
if (p)
{
textBox1.Text = initText;
textBox1.ForeColor = Color.Gray;
}
else
{
textBox1.ForeColor = this.ForeColor;
}
}
///
/// 文本框获得焦点时显示灰色的初始化文本。
///
///
///
private void textBox1_Enter(object sender, EventArgs e)
{
if (textBox1.Text == initText)
{
textBox1.Text = "";
setGrayText(false);
}
}
///
/// 失去焦点时恢复显示正常文本颜色。
///
///
///
private void textBox1_Leave(object sender, EventArgs e)
{
setGrayText(textBox1.Text == "");
}
}
}