C#ComboBox用于IP地址

时间:2011-08-15 10:35:52

标签: c# .net-4.0 windows-forms-designer

我需要一个包含IP地址的自定义组合框。我有一个自定义控件,其中包含一个IP地址(实际上是一个包含4个文本框的面板)。我已经尝试将其他控件添加到普通的组合框中,例如按钮和文本框。我没有例外,但我希望在下拉列表中看到该项目,而不是每个项目都有一个空行。

我对此的第一个想法是扩展ComboBox控件。你会建议什么?

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

这是blog article JaredPar显示如何开始,只需用您自己的自定义容器控件替换m_form。

答案 2 :(得分:0)

您可以将IP地址保存在列表框中,即使是在组合框或任何您想要的地方。不要忘记你的编码是什么,如果你有一个基于oop的tcp-socket程序,那么就不会抛出跨线程异常。代码应该像ListBox.Items.Add(ipaddress)或ComboBox.Items.Add(ipaddress)......

在控件中你可能只持有ip-addresses,如果你想存储socket对象使用Dictionary ...你的答案不清楚,所以我已经回答了可能的情况。