如何使只读属性在我的用户控件中可用
本文关键字:控件 用户 我的 何使 只读属性 | 更新日期: 2023-09-27 18:15:34
我让用户控制从3个文本框,但我不知道如何声明只读属性给它我尝试了很多东西,但它不工作这里是我的代码,使控件
我想让它只在需要时读取,就像我添加复选框一样,我想要如果复选框。Check =true使我的控件只读
public partial class dateIN : UserControl
{
Dates datess = new Dates();
public dateIN()
{
InitializeComponent();
}
private void dateIN_Leave(object sender, EventArgs e)
{
if (txtDay.Text != "" || txtMonth.Text != "" || txtYear.Text != "")
{
if (!datess.IsHijri(txtDay.Text.Trim() + "/" + txtMonth.Text.Trim() + "/" + txtYear.Text.Trim()))
{
txtDay.Focus();
}
}
}
public string Day
{
set { txtDay.Text = value; }
get { return txtDay.Text; }
}
public string Month
{
set { txtMonth.Text = value; }
get { return txtMonth.Text; }
}
public string Year
{
set { txtYear.Text = value; }
get { return txtYear.Text; }
}
需要知道如何使只读属性在这里可用plz
直接删除属性的set { }
部分
的例子:
public string Day
{
get { return txtDay.Text; }
}
我不知道你的"txtDay", "txtMonth", "txtYear"从哪里来的相关性,但你可以做一些像
public partial class dateIN : UserControl
{
...
...
private bool AllowEditing()
{ return SomeCondition when SHOULD be allowed...; }
public string Day
{
// only allow the set to apply the change if the "AllowEditing" condition
// is true, otherwise, ignore the attempt to assign.
set { if( AllowEditing() )
txtDay.Text = value; }
get { return txtDay.Text; }
}
// same concept for month and year too
}
所以你可以添加一些标志到你的集合,当它为真,然后你设置一个值。你也可以使用文本框的ReadOnly属性