C# IP地址下拉框

3
我需要一个可以存储IP地址的自定义组合框。我有一个包含IP地址的自定义控件(实际上是一个带有4个文本框的面板)。我已经尝试将其他控件添加到普通组合框中,例如按钮和文本框。我没有收到任何异常,但我期望在下拉列表中看到该项,而不是每个项目都显示为空白行。
我的第一反应是扩展ComboBox控件。你有什么建议?

在WPF中要容易得多。如果适用的话,请考虑使用它。 - Andrey Agibalov
3个回答

0
一个组合框基本上是一个文本框和一个(通常)通过按钮激活的列表框的结合,以方便使用。如果不方便,您可以实现自己的下拉功能。在您的文本框旁边放置一个按钮,显示一个列表框,当从列表框中选择一个项目时,将值放入相应的文本框中。换句话说,不要尝试扩展组合框,而是尝试基于类似的组件重新构建类似的控件。

0

覆盖 ComboBox 并不太困难,因此您可以创建一个自定义的 ComboBox 来显示您自己的控件,该控件将是一个容器,显示多个 IP 地址控件。

这里有一篇 博客文章,由 JaredPar 撰写,展示了如何入门,只需用您自己的自定义容器控件替换 m_form 即可。


0
你可以将IP地址存储在列表框中,甚至是组合框或任何你想要的控件中。不要忘记你的编码方式,如果你有一个面向对象的TCP套接字程序,那么就不会抛出交叉线程异常。代码应该像ListBox.Items.Add(ipaddress)或ComboBox.Items.Add(ipaddress)这样...
在控件中,你只能保存IP地址,如果想存储套接字对象,请使用字典...你的回答不太清楚,所以我根据可能的情况给出了答案。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接