PDA

View Full Version : سوال: تکست پیش فرض برای تکست باکس



MeysamTakta
پنج شنبه 13 آذر 1393, 18:27 عصر
سلام
من میخوام یه تکست پیش فرض برای تکست باکسم داشته باشم که وقتی فوکوس میره رو اون تکست باکس خالی میشه و مجددا بعد از از دست دادن فوکوس اگه مقداری وارد نشده بود مجدد همون تکست پیش فرض نمایش داده بشه.
با Enter و Leave تکست میشه ی کاری کرد اما خب نمیدونم چجوری میشه مقدار پیش فرض رو از ورودی کاربر تشخیص داد.
اگه راهی هست یا کامپوننتی هست بهم معرفی کنید
مرسی

Share & Learn
پنج شنبه 13 آذر 1393, 19:54 عصر
سلام
اگه می خواین با رویداد Enter و Leave بنویسید به این صورت می شه:


private void textBox2_MouseEnter(object sender, EventArgs e)
{
if (textBox2.Text == "matne pishfarz")
{
textBox2.Text = String.Empty;
}
}
private void textBox2_MouseLeave(object sender, EventArgs e)
{
if (textBox2.Text == String.Empty)
{
textBox2.Text = "matne pishfarz";
}
}

rasoolf
جمعه 14 آذر 1393, 09:23 صبح
سلام
من میخوام یه تکست پیش فرض برای تکست باکسم داشته باشم که وقتی فوکوس میره رو اون تکست باکس خالی میشه و مجددا بعد از از دست دادن فوکوس اگه مقداری وارد نشده بود مجدد همون تکست پیش فرض نمایش داده بشه.
با Enter و Leave تکست میشه ی کاری کرد اما خب نمیدونم چجوری میشه مقدار پیش فرض رو از ورودی کاربر تشخیص داد.
اگه راهی هست یا کامپوننتی هست بهم معرفی کنید
مرسی

سلام برای اینکار شما می تونید از کد زیر استفاده کنید


using System.Runtime.InteropServices;



[DllImport("user32.dll", CharSet = CharSet.Auto)]


private static extern Int32 SendMessage(IntPtr hWnd, int msg,int wParam,
[MarshalAs(UnmanagedType.LPWStr)] string lParam);


private const int EM_SETCUEBANNER = 0x1501;


private void Form1_Load(object sender, EventArgs e)
{
SendMessage(textBoxX1.Handle, EM_SETCUEBANNER, 0, "متن پیش فرض...");
}