Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取自定义TextBox控件的父级_C#_Controls - Fatal编程技术网

C# 获取自定义TextBox控件的父级

C# 获取自定义TextBox控件的父级,c#,controls,C#,Controls,创建扩展TextBox的自定义控件时,在OnCreateControl()覆盖内,父控件为null。扩展其他控件(如Button)时,它不为null。我正在检查以下代码,并将其添加到表单和各种容器控件中: protected override void OnCreateControl() { base.OnCreateControl(); MessageBox.Show((Parent == null).ToString()); //True when extending Tex

创建扩展TextBox的自定义控件时,在OnCreateControl()覆盖内,父控件为null。扩展其他控件(如Button)时,它不为null。我正在检查以下代码,并将其添加到表单和各种容器控件中:

protected override void OnCreateControl()
{
    base.OnCreateControl();
    MessageBox.Show((Parent == null).ToString()); //True when extending TextBox, False when extending Button
}

当控件添加到另一个控件时,如何检索该控件的父控件,以确保无论扩展哪个控件,相同的代码都能正常工作?

我认为重写OnParentChanged更合适。这是可行的。不幸的是,文本框控件在绘制方面似乎与其他控件的行为非常不同,因此我可能会从一开始就略知一二。你的问题从来没有提到绘画是一个问题。文本框不使用绘画事件。至少我学会了使用OnParentChanged。像修改任何其他控件一样,如何修改自定义文本框的外观?