2016年11月24日 星期四

[C#] TextBox Hint Text

C# TextBox沒有像Android的Hint,可以在使用者未輸入內容時,顯示提示字。

在網路上找到一段程式碼,感覺蠻好用的。


private const int EM_SETCUEBANNER = 0x1501;
[DllImport("user32.dll", CharSet = CharSet.Auto)]
private static extern Int32 SendMessage(IntPtr hWnd, int msg, int wParam, [MarshalAs(UnmanagedType.LPWStr)]string lParam);

private void Form1_Load(object sender, EventArgs e)
{

    SendMessage(textBox1.Handle, EM_SETCUEBANNER, 0, "Input Number");
}

執行效果

























注意一下,第3個參數是0或1的差別

當是0的時候,只要TextBox取得焦點,把輸入內容刪除後,依然還是顯示空白,

必須當其他控制項取得焦點時,才會顯示提示字,如下所示。















當是1的時候,只要沒有輸入內容,就會出現提示字。


不過,在XP似乎沒有效果@@

沒有留言:

張貼留言