我正在构建一个 C# 客户端应用程序,它允许用户通过类似电子邮件的隐喻与系统中的一个或多个现有用户进行通信。我想向用户展示一个文本输入框,该框可在已知电子邮件地址上自动完成,并允许输入多个以定界符分隔的地址。理想情况下,我还希望电子邮件地址在输入和识别后变成结构化控件。基本上,我正在为 Facebook 模型后添加用户的 UI 交互建模。
是否有任何 Windows 窗体控件能够执行此类操作?混合文本框/控制列表框(不,不是 ComboBox)是否有任何成熟的术语或我应该搜索的东西?
谢谢,
-帕特里克
最佳答案
过去,我很幸运地创建了复合用户控件,以使用 native .NET Winforms 控件提供特定功能。只要它们不是太多,它就可以很好地工作,在这种情况下,事情开始变慢。
在你的情况下,这只是我的想法,但是,也许你可以采用 FlowLayoutPanel、Button 和支持自动完成的文本框,并将它们组合在一起以创建一个控件,该控件将提供您正在寻找的功能。
如果在控件中没有选择地址(例如在 List
我所描述的设计将允许用户通过单击按钮来删除地址。然而,如果没有其他一些视觉提示,这不是很直观或用户友好,所以我会考虑让“按钮”成为另一个复合控件,其中包含一个“漂亮”标签和一个小删除按钮(X)向右。为此,您可以使用面板控件并将 X 按钮停靠在右侧,并在左侧填充标签。您可以根据需要在此处提供公共(public)属性以控制文本并为删除功能提供事件处理程序或回调。
一旦视觉效果正常工作,剩下的就是在主控件上提供适当的属性和方法,以允许它根据需要与外部代码进行交互。
关于c# - 如何构建 Windows 窗体电子邮件感知文本框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3057693/