を働いていません。私は自分のテキストボックスのプレースホルダを持っていて、User32.dllからSendMessageのメソッドを見つけました。ここでは(設定ファイルが存在しない場合は、最初の形式の一つであるLoginForm.csに配置された)私のコードは次のとおりです。C#Windowsフォーム - のSendMessage EM_SETCUEBANNERテキストボックスには、私は、WindowsフォームでのC#でアプリケーションを作ってるんだ
民間の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);
クラス内に配置されます。私のコンストラクタとして私が得た:
public LoginForm()
{
InitializeComponent();
SendMessage(hostname.Handle, EM_SETCUEBANNER, 0, "Hostname");
SendMessage(port.Handle, EM_SETCUEBANNER, 0, "Port");
SendMessage(username.Handle, EM_SETCUEBANNER, 0, "Username");
SendMessage(password.Handle, EM_SETCUEBANNER, 0, "Password");
SendMessage(database.Handle, EM_SETCUEBANNER, 0, "Database");
}
マイhostname
、port
、username
、password
、database
はすべてのテキストボックスです。しかし、私がアプリケーションを実行する場合、プレースホルダは適用されません。単に最後のテキストボックスに焦点を合わせます。
私は間違っていますか?私は間違いがない。
私のために立派に動作し、あなたが自動生成さApplication.EnableVisualStylesを(持っていますか)()? –
ああ、それは問題です、私は持っていませんでした。私は空のProgram.csで始まったので、私はその行を持っていませんでした。ありがとう! :) –