我在我的用户控件的构造函数中有一个方法调用,它做了一些在设计时无法工作的东西(连接到数据库),当我尝试将该控件添加到GUI设计器时,Visual Studio就被挽救了.
当然,我可以将代码分解为一个单独的方法,但我不喜欢每次使用该对象时我都需要记住执行某个对象函数必不可少的方法的想法(这就是构造函数的作用)对于!).
是否有类似预处理器符号的东西,我可以标记我的代码,以便Visual Studio不会尝试在设计时执行该代码?
我继承了ControlDesigner班级MyControlDesigner.
在这个类我需要获取后面的对象ITypeDescriptorContext和IServiceProvider接口,但我不知道如何:(
我需要这两个接口在方法中传递它们,但我无法在任何其他对象中找到它们.
有人能帮帮我吗.
谢谢
最好的问候Bojan
我DataGridView在一个a中UserControl创建了一个公共属性,在我的usercontrol中公开了datagridview的columns属性.
以下是示例代码:
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
public DataGridViewColumnCollection MyDataGridColumns
{
get
{
return dataGridView1.Columns;
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后我添加UserControl1我的表单,然后单击MyDataGridColumns属性窗口中的属性并添加1个或更多列.当我重建我的解决方案时会发生问题; 刚刚添加的所有列在重建后都会消失.
任何人都可以向我解释为什么会这样吗?以及如何解决?