0
VS2015とC#を使用するMaskedTextBoxのコンテナモーダルフォームが表示されているときに、そのプロンプト文字が削除されないようにするにはどうすればよいですか?
この単純なモーダルForm
には、MaskedTextBox
のコントロールがあります。
ModalForm
が.ShowDialog()
で示される最初の時間のたびに、対照中のPromptChar
がなくなった。この問題を再現するために
:
public ModalForm()
{
InitializeComponent();
maskedTextBox1.Mask = "00/00/0000"; // happens with any
maskedTextBox1.TextMaskFormat = MaskFormat.IncludeLiterals;
}
コードメインForm
のために:ときにその内容が変更さ
public partial class Form1 : Form
{
private ModalForm modalForm = new ModalForm();
private void button1_Click(object sender, EventArgs e)
{
modalForm.ShowDialog();
}
}
コントロールのプロンプトが再び表示されますが、最初のビューでは存在しません。
TextMaskFormat
プロパティをIncludePromptAndLiterals
に設定することは解決策ですが、.Text
をクリーンアップする必要があります。
これを処理する別の方法はありますか。すべてのMaskedTextBox
コントロールは常にデフォルトのプロンプトを表示する必要があります、私に必要となっています。
デフォルトプロンプトを助け?、フォームの
Shown
イベントでこれを試してみてください入力した以前の値が表示されますか? showdialogの後に毎回デフォルトのプロンプトを表示したいのですが、たとえ値「= 11/11/1111」で閉じることさえできますか?そうでない場合は、コントロールのスクリーンショットをいくつか入れてください。 – Berkay'.ShowDialog()'を2回目に呼び出すとプロンプトが失われるなど、値は保持されます。 この問題は上記のコードで再現できます。例えば。 '' 2_/1_/_ 85_ ''を入力してフォームを閉じてもう一度開くと、コントロールは '' 2/1/85 "'を表示します。私が望むのは、プロンプトのチャーを保持することです。 – Shin
'AllowPromptAsInput = false'を設定していますか? – Berkay