2012-11-22 59 views
1

我是新来的Visual Basic,并试图避开开发一个很好的聊天界面gui。我可以理解语言,因为我一直在使用php和java。VB聊天界面 - 显示用户

要求

基本上我试图建立一个接口,它会显示用户的,并与显示器的状态(在线/离线)一起列表。我的用户将驻留在MySQL数据库中。点击用户我想要发生一些动作。

问题

我看到有数据网格,列表视图,列表框,但无法确定使用哪一个。通过直接查询mysql数据库或访问运行少量查询并提供数据的php脚本来显示用户也是一个好主意吗?

回答

1

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) 
+0

谢谢@Steven。回复晚了,请原谅。我明白你的意思。我还有一个查询。如果我使用TableLayoutPanel,总行不确定。这取决于我有多少用户,然后我需要动态添加它们。这是我现在坚持的主要步骤。你能帮我吗 ? –

+0

查看我的更新回答。 –

+0

谢谢@Steven。我现在明白了。 FlowLayoutPanel实际上是我需要的。这服务我的目的。答复你的答案。我可能没有其他疑点。请回答。 –