我创建了一个自定义文本框控件,我尝试为文本框设置默认文本。所以在我的构造函数中我说Text = "My Default Text"
,这似乎不会影响设计模式中的控件。
以下是自定义文本框代码:
using System.Windows.Forms;
namespace MyNameSpace
{
public class xTextBox : TextBox
{
public xTextBox()
{
BorderStyle = BorderStyle.None;
Text = "My Default Text";
}
}
}
然后我将该控件放在usercontrol上,没有文字:(
以下是我在属性框中看到的内容:Text
属性为空
答案 0 :(得分:0)
此处解释了问题:Virtual member call in a constructor
总之,为了获得你想要的东西,你需要有一个密封的课程:
public sealed class xTextBox : TextBox
{
public xTextBox()
{
BorderStyle = BorderStyle.None;
Text = "My Default Text";
}
}
或密封的文字属性:
public class xTextBox : TextBox
{
public xTextBox()
{
BorderStyle = BorderStyle.None;
Text = "My Default Text";
}
public sealed override string Text
{
get { return base.Text; }
set { base.Text = value; }
}
}
答案 1 :(得分:0)
文本需要是函数之外的变量。
Public string Text {
get { return this;}
set{value = this;}
}
就是这样的。上面的代码可能有错误,因为我在我的手机上输入了它。在你有类似的东西后,在任何你想要的地方设置文本值。