gpt4 book ai didi

c# - 如何在 .net2.0 winforms 中使搜索用户控件通用

转载 作者:太空宇宙 更新时间:2023-11-03 11:55:47 26 4
gpt4 key购买 nike

我有一个搜索用户控件,我想将其设为通用。

控件本身将根据其上下文包含不同的控件集合。例如,它可以是股票项目、人员、地址作为搜索的上下文。

我怎样才能使它足够通用,以便根据搜索上下文准确地知道用户在表单上需要控制什么?

然后任何程序员都可以将用户控件拖到他们的窗体上,设置它的上下文,我们就可以开始了。

我的第一个想法是为所有单独的用户控件创建一个基本控件,搜索对话框在构造函数中接受这些控件,因此它知道在运行时显示哪些控件。您可以创建基本控件的继承版本并将它们传入。或者可能只是设置搜索上下文(枚举),它会显示如何在运行时确定用户控件的内容。

都是.net 2.0 Winform

为便于阅读而编辑。 Q 之前太长太详细了。

最佳答案

在我们的项目中,我们通过添加具有 CanSearchSearch 属性的 ISearchable 接口(interface)来实现这一点。它们采用指定向前或向后的方向参数,Search 方法还采用用于执行搜索的字符串和指定匹配类型(短语开头、短语结尾、包含在短语中等)的枚举。

然后我们在层次结构中的所有控件上实现了这个接口(interface)。然后每个控件在它认为合适时委托(delegate)给子控件。我们的容器应用程序将包含一个文本框并查找下一个/上一个按钮。容器将查询层次结构中的第一个 View 以查找界面,然后该界面将向下链接到层次结构中每个控件认为合适的目标控件。

我们为剪贴板操作实现了另一种方法,我们首先直接检查主动聚焦的控件,看它是否支持我们的 ISupportEdit 接口(interface)。如果没有,我们就会使用层次结构方法。

关于c# - 如何在 .net2.0 winforms 中使搜索用户控件通用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/557628/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com