VB聊天界面-显示用户



我是Visual Basic的新手,正在努力为聊天界面开发一个好的gui。我可以理解这种语言,因为我很长一段时间以来一直在使用php和java。

要求

基本上,我正在尝试开发一个界面,它将显示用户列表,并显示状态(在线/离线)。我的用户将驻留在mysql数据库中。单击用户时,我希望执行一些操作。

问题

我看到有datagrid、listview、listbox,但不确定该使用哪一个。此外,通过直接查询mysql数据库或访问运行少量查询并提供数据的php脚本来显示用户是个好主意吗?

ListBox控件不是一个很好的选择,因为它不容易支持多列。Details视图中的ListView控件是一个不错的选项。我认为它看起来和工作起来都比DataGrid好,但它本身并不支持多行项目。如果您需要多行项目,DataGrid控件可能是您的最佳选择。另一个可以给你更多灵活性的选项是使用LayoutPanel控件来显示你自己的UserControl的垂直列表。您可以随心所欲地设计UserControl,这意味着您可以完全控制列表中每个项目的大小、外观和布局,而不受列表控件的约束。

就获取数据而言,这取决于情况。如果数据库总是在局域网上,并且性能很重要,那么每个客户端都应该直接访问数据库。否则,从php脚本、web服务或WCF服务获取数据将是更好的选择。

与其使用TableLayoutPanel,我建议使用FlowLayoutPanel,FlowDirection属性设置为TopDown,AutoScroll属性设置为True。然后,要动态添加控件,可以执行以下操作:

Dim item As New MyUserControl()
' Set properties of user control
FlowLayouPanel1.Controls.Add(item)

最新更新