如何在ToolBox上放置扩展的WinForms控件

时间:2009-07-12 15:28:49

标签: c# visual-studio winforms

我计划使用以下内容向TextBox添加功能:

   public class TextBoxExt : TextBox  
    {
        protected override void OnKeyPress(KeyPressEventArgs e)
        {
            base.OnKeyPress(e);
        }

    }

问题是我们如何使用这个TextBoxExt?反正有没有把这个类放到ToolBox上,以便我们可以将它拖放到表单上?如果没有,使用TextBoxExt的最佳方法是什么?

3 个答案:

答案 0 :(得分:1)

我相信有几种方法可以让您的控件出现在工具箱中:

  1. 它所在的项目必须包含在您的开放式解决方案中,并且项目必须已编译/构建到程序集中。如果您正在处理控件和同时使用该控件的项目(例如,构建解决方案也将重新构建控件的项目),那么这就是要走的路。

  2. 您可以右键单击工具箱以添加新项...在生成的对话框中,您可以浏览到包含该控件的程序集并以该方式添加(或将其添加到GAC,在这种情况下)您可以直接从列表中选择它而无需浏览)。如果包含您的控件的项目不是您的解决方案的一部分并且您只处理已编译的DLL(,例如,构建解决方案不会重新构建控件的项目< / em>的)。

答案 1 :(得分:1)

另一个简单的选项是将控件添加到Toolbox中,

  1. 在VS工具箱中创建新的工具箱标签。比如说“我自己的控制”。
  2. 将具有您控制权的程序集拖到新创建的标签页中,然后将其删除
  3. 您可以在工具箱中看到控件添加
  4. 此方法的主要优点是,如果单个程序集中只有一个控件,则无需在“添加组件”对话框中进行搜索并选择它们。 VS将为您完成,并将在Toolbox中自动添加所有这些。

    希望这有帮助。

答案 2 :(得分:0)

只需编译您的应用程序 - 然后TextBoxExt应显示在您的工具箱中(无论何时打开表单设计器,您都会在顶部看到它),然后您可以将其拖到表单上。

这里的关键可能是打开表单设计器 - 否则,您将无法在工具箱中看到自定义用户控件。