C#自定义控件中如何动态添加属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#自定义控件中如何动态添加属性相关的知识,希望对你有一定的参考价值。

C#中自定义控件怎么根据一个属性的值来动态添加属性??
例如 一个属性是IsTextbos 值分为 true 跟 false
如果 true 添加 TextBox tb;
如果 false 添加 size,location
这个能实现吗??
关键是在上面地方判断?

假定你的属性控件是object,并且已初始化好.
if(object is TextBox)

this.controls.Add(object);

else

object.Size = new Size(50,100);
object.location = new Point(0, 0);
参考技术A 与其动态添加属性,我个人觉得添加全部属性然后动态返回值比较好。
public TextBox tb

____get
________if(isTextBox) return _tb;
________else return null;
________

public Size size

____get
________if(isTextBox) return null;
________else return _size;
________


个人意见仅供参考。
参考技术B if(IsTextbos)

添加TextBox

else

添加Size,Location
参考技术C 在代码里用判断语句判断IsTextbos 的值就行啦

C# WinForm 如何动态添加控件和设计控件布局

参考技术A 动态添加,不就是不拖拽吗那就new一个控件啊,想让他定位啊?location这个属性就是定位的→控件左上角相对于其容器左上角的坐标。margin,size
自己尝试哦,祝愿你C#越学越好。
参考技术B 比如button
button
btn=new
button();//初始化一个控件
btn.size=new
size(100,100);//设置大小
btn.location=new
postion(50,100);//设置坐标
btn.text="按钮1";//设置文本
this.controls.add(btn);//添加到窗体中
上面的大致就这样

以上是关于C#自定义控件中如何动态添加属性的主要内容,如果未能解决你的问题,请参考以下文章

wpf中动态添加的自定义控件过宽,不能完全显示,怎么办

c# winform 制作自定义控件

C#中自定义propertygrid控件的属性,要求当点击不同的其他控件时,能在propertygrid控件中显示基本的信息

C# Winfrom 自定义控件添加图标

如何从自定义用户控件 WPF、C# 中的枚举自定义属性中获取值?

如何引用VB6.0编 用户自定义控件