读书人

探索怎么写这个通用方法求大神

发布时间: 2013-06-19 10:26:41 作者: rapoo

探索,如何写这个通用方法,求大神。
写一个通用方法。
传入的参数,第一个默认是checkbox,后边的可以是textbox、也可以是combbox、也可以是日期控件。而且除了checkbox的数量固定为一个,其他参数传入的数量都不固定。
如果checkbox是选中的呢,textbox、combbox、等等其他控件 全部为可写的。
如果checkbox没有选中的呢,textbox、combbox、等等其他控件 全部为只读的。
问如何实现这个方法?
[解决办法]


public void Method(CheckBox checkbox, params Control[] controls)
{
if (checkbox.Checked)
{
foreach (var item in controls)
{
var propertyInfo = item.GetType().GetProperty("ReadOnly");
if (propertyInfo == null)
continue;
propertyInfo.SetValue(item, false, null);
}
}
else
{
foreach (var item in controls)
{
var propertyInfo = item.GetType().GetProperty("ReadOnly");
if (propertyInfo == null)
continue;
propertyInfo.SetValue(item, true, null);
}
}
}


public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();



TestClass a = new TestClass();

a.Method(new CheckBox(), new TextBox(), new ComboBox().....);
}
}


读书人网 >C#

热点推荐