【问题标题】:How to change "area" of a control in DesignMode?如何在 DesignMode 中更改控件的“区域”?
【发布时间】:2011-02-21 06:24:47
【问题描述】:

当我将 TextBox 从工具箱拖放到 WinForm 上时,我可以随意将它拖到窗体上。

现在我创建一个新类并从 TextBox 继承它。我添加了一个名为 CaptionLabel 的新属性。当设置为一个值时,我会动态创建一个 Label 控件,设置它的值,最后将标签添加到 TextBox 的父控件集合中。

结果是一个“LabeledTextBox”。

但是,在选择文本框时,我仍然只获取所选文本框...选择矩形不包含标签,动态创建。

如何扩展矩形使其也包含标签并使标签“知道”它属于文本框?

或者有没有更好的方法来创建带标签的控件?

【问题讨论】:

    标签: winforms controls label


    【解决方案1】:

    如果我理解正确,您需要一个标签和一个 TextBox 是一个元素吗? 如果我是对的,您需要创建新控件,为此创建新项目类型 WindowsFormsControlLibrary?

    【讨论】:

    • 是的。我已经有一个图书馆项目。有不同的方法可以创建自己的控件。我本可以将 Label 和 TextBox 放入用户控件中,但随后必须手动公开它们的所有属性。但是,由于我已经有自己的(复杂的)用户控件用于扩展的 TextBox 以及 Label,我不想有这样的开销,而是简单地从我自己的 TextBox 继承并将标签的创建(如果需要)放入一个新的属性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    • 2016-02-13
    • 2016-09-01
    • 1970-01-01
    相关资源
    最近更新 更多