【发布时间】:2017-09-29 14:45:28
【问题描述】:
我的类库中有两个控件,一个名为 TextBox 和一个 Panel,我可以在我的 ToolBox 中以不同方式派生它们,但我想要的不是派生两个不同的控件,而是我希望我的文本框在面板中并仅派生面板使其包含面板和文本框。我在做这件事时遇到了一个问题。 Panel 在 Toolbox 中很容易使用,但我在 Panel 中创建的文本框对象不可见。谁能告诉我这件事可以实现吗?
public class TextBoxPanel :Panel
{
TextBoxPanel()
{
IpTextBox ip = new IpTextBox();
}
protected override void OnPaint(PaintEventArgs e)
{
}
public class IPField : TextBox
{
protected override void OnClick(EventArgs e)
{
}
}
}
【问题讨论】:
-
至少您需要将文本框添加到面板中。例如
Controls.Add(ip); -
我应该在哪里写这行? @yolosora
-
例如在您的面板构造器中创建文本框后@himanshu
-
我在构造函数中检查它不起作用,但是当我在 OnPaint() 方法中实例化时它以某种方式起作用。谢谢:)