用户控件,这样的效果如何实现?

vickyyu 2005-11-24 04:20:42
我的用户控件有这样一个属性:(WINDOWS程序)
ControlToValidate,这个属性是string类型的

就象asp.net里的RequiredFieldValidateion控件的ControlToValidate属性一样
可以选择本窗体中的某些类型的控件,例如TextBox或是RichTextBox
当我在窗体上设置该控件的ControlToValidate属性时,可以把本窗体上的所有TextBox和RichTextBox的名称都下拉下来供选择

如何才能做到?

最好能够实现多选?

请大家帮忙,谢谢!
...全文
160 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
vickyyu 2005-11-24
  • 打赏
  • 举报
回复
经过测试我发现 lookfeng() 的方法是可以的
这个StringConvert真的是个好东西,以前没发现
还有ArrayConvert什么的,我要好好研究研究

受教受教
非常感谢
vickyyu 2005-11-24
  • 打赏
  • 举报
回复
我看asp.net里的ControlToValidate属性是string类型的
但是它却有一个下拉框可以供选择

不知道是在该属性的Set方法里用了一个struct还是其它什么内容
lookfeng 2005-11-24
  • 打赏
  • 举报
回复
public class ValidatedControlConverter : StringConverter
{
private object[] GetControls(IContainer container)
{
ComponentCollection collection1 = container.Components;
ArrayList list1 = new ArrayList();
foreach (IComponent component1 in collection1)
{
if (!(component1 is Control))
{
continue;
}
Control control1 = (Control) component1;
list1.Add(control1.Name);
}
list1.Sort(Comparer.Default);
return list1.ToArray();

}

public override TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
{
if ((context != null) && (context.Container != null))
{
object[] objArray1 = this.GetControls(context.Container);
if (objArray1 != null)
{
return new TypeConverter.StandardValuesCollection(objArray1);
}
}
return null;
}
public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)
{
return false;
}
public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
{
return true;
}
}


[TypeConverter(typeof(ValidatedControlConverter))]
public string ControlToValidate
{
get{}
set{}
}
zhangjidong 2005-11-24
  • 打赏
  • 举报
回复
winform 的怎么会有page_load呢
可以从此控件的parentform下手,枚举所有需要类型控件。
vickyyu 2005-11-24
  • 打赏
  • 举报
回复
to:s5689412(华君)

那个控件是直接继承的BaseCompareValidator
ControlToValidate在BaseCompareValidator里已经有了
现在我是想自己写这个属性的
michleliu 2005-11-24
  • 打赏
  • 举报
回复
提供个思路:
page_load的时候在父form上找所有的控件(好像在Controls里面),并给你的自定义控件属性赋值。。。
s5689412 2005-11-24
  • 打赏
  • 举报
回复
这里有一个ASP.NET的,可供参考:

http://aspnet.4guysfromrolla.com/articles/112404-1.aspx

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧