提问人:gohar iranian 提问时间:8/14/2023 最后编辑:YSFKBDYgohar iranian 更新时间:8/15/2023 访问量:53
在屏蔽文本框中使用变量
Use variable in masked textbox
问:
我想用这种格式制作一个蒙版文本 xxxx/##/##
xxxx 是存储在 config 中变量中的数字,应该在“form load”时加载 我该怎么办?
另外,当我将掩码设置为 1402/##/## 时,它变成了 14_2/__ /__
但我想 1402 是静态的!
对不起我的英语
答:
1赞
Sergey
8/14/2023
#1
您需要使用反斜杠对蒙版静态部分中的每个字符进行转义。请参阅文档中的备注。
\ 转义掩码字符,将其转换为文字。“\”是反斜杠的转义序列。
在这种情况下,掩码将如下所示:
maskedTextBox1.Mask = @"\1\4\0\2/00/00";
可以通过编程方式对字符进行转义。假设您有以下配置文件,其中包含掩码的静态部分。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="number" value="1402"/>
</appSettings>
</configuration>
然后,您可以按如下方式转义字符:
using System.Configuration;
using System.Text;
using System.Windows.Forms;
namespace Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// Initialize the masked text box.
var maskedTextBox1 = new MaskedTextBox
{
Location = new System.Drawing.Point(10, 10)
};
Controls.Add(maskedTextBox1);
// Read the static number from the configuration file.
var number = int.Parse(ConfigurationManager.AppSettings["number"]);
// Split the number into individual characters and escape them.
var prefix = new StringBuilder();
foreach (var character in number.ToString())
{
prefix.Append(@"\");
prefix.Append(character);
}
// Set the updated mask.
maskedTextBox1.Mask = prefix + "/00/00";
}
}
}
评论
0赞
gohar iranian
8/14/2023
我想用这种格式制作一个遮罩文本 xxxx/##/## xxxx 是存储在 config 中的变量中的数字。我应该怎么做?
0赞
Sergey
8/14/2023
@gohar-伊朗人 请参阅更新的答案。
0赞
gohar iranian
8/15/2023
谢谢。我可以制作波斯历的条件吗?
0赞
Sergey
8/15/2023
@gohar 请参阅更新后的答案。您需要使用掩码“/00/00”。它只允许数字 0-9。例如,若要验证输入,可以在 Validating 事件处理程序中手动执行此操作。
评论