C# 如何在c中创建属性#
我在我的项目中为textbox创建属性,但我有一个问题 当我为TextBox设置属性“false”或“true”时,C#为表单中的所有TextBox设置属性“false”或“true”,有什么问题 这是我的代码C# 如何在c中创建属性#,c#,properties,C#,Properties,我在我的项目中为textbox创建属性,但我有一个问题 当我为TextBox设置属性“false”或“true”时,C#为表单中的所有TextBox设置属性“false”或“true”,有什么问题 这是我的代码 public static bool number = false; public Number_TextBox() { InitializeComponent(); } public Number_TextBox(IContainer co
public static bool number = false;
public Number_TextBox()
{
InitializeComponent();
}
public Number_TextBox(IContainer container)
{
container.Add(this);
InitializeComponent();
}
public bool IsNumber
{
get { return number; }
set { number = value; }
}
protected override void OnKeyPress(KeyPressEventArgs e)
{
base.OnKeyPress(e);
if (IsNumber == true)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
{
e.Handled = true;
}
}
}
去掉关键字
static
:
public bool number = false;
private bool number = false;
表示您的字段将由类本身使用,而不是单独用于类的每个实例。去掉关键字
static
:
public bool number = false;
private bool number = false;
表示您的字段将由类本身使用,而不是单独用于类的每个实例。原因是您使用的是影响整个类的
静态变量。尝试将其更改为private
非静态变量。它也没有理由是公共的,只有属性应该是公共的:
public bool number = false;
private bool number = false;
此外,您还可以通过编写以下代码来简化代码:
public bool IsNumber { get; set; }
原因是您使用的是影响整个类的静态
变量。尝试将其更改为private
非静态变量。它也没有理由是公共的,只有属性应该是公共的:
public bool number = false;
private bool number = false;
此外-您可以通过编写以下内容简化代码:
public bool IsNumber { get; set; }
谢谢,这是真的;谢谢,这是真的;谢谢,这是真的;请阅读我答案中的补充说明。谢谢,这是真的;阅读我答案中的附加注释。