打开一个C#项目,自定义的控件看不到视图,VS提示若要在类中添加组件,请从工具箱中拖出它们,然后使用“属性”窗口来设置它们的属性。
求解释!
打开一个C#项目,自定义的控件看不到视图,VS提示若要在类中添加组件,请从工具箱中拖出它们,然后使用“属性”窗口来设置它们的属性。
求解释!
引自免费微信小程序:皆我百晓生
遇到在Visual Studio中自定义控件无法在设计视图中显示的问题时,通常有几种解决办法。这可能是因为缺少必需的设计器属性、控件没有正确注册到工具箱、或者控件的设计时支持代码存在问题。
自定义控件应继承自System.Windows.Forms.Control
或其派生类(如ComboBox
)。例如:
public class CustomComboBox : ComboBox
{
// 自定义控件的实现
}
在自定义控件类中,确保有Designer
属性。这告诉Visual Studio此控件可以被设计时支持。
[Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design")]
public class CustomComboBox : ComboBox
{
// 控件的其他代码
}
确保在项目启动时,自定义控件被注册到工具箱。这可以通过在程序入口处调用ToolboxItem
构造函数完成,或者通过在.Designer.cs
文件中添加注册代码。
在Program.cs
或Form1.cs
等启动文件中添加:
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
ToolboxItem tbi = new ToolboxItem(typeof(CustomComboBox));
Toolbox.Add(tbi);
Application.Run(new Form1());
}
}
或者在.Designer.cs
文件中添加:
public partial class Form1
{
public Form1()
{
InitializeComponent();
// 添加到工具箱
ToolboxItem tbi = new ToolboxItem(typeof(CustomComboBox));
Toolbox.Add(tbi);
}
}
如果上述步骤均未解决问题,检查是否有编译错误或警告,特别是与资源或类型发现相关的。确保所有必要的引用都已包含,并且没有命名空间冲突。
最后,尝试清理并重新构建项目,以确保所有更改都已应用且没有缓存问题。
执行以下命令:
按照这些步骤操作后,通常可以在设计视图中看到自定义控件了。如果问题仍然存在,可能需要更深入地检查控件的设计时行为代码或Visual Studio的配置。