我是Visual的新手,我试着为聊天界面开发一个好的gui。我可以理解这种语言,因为我一直在使用php和java从很长时间。
需求
基本上,我正在尝试开发一个界面,它将显示用户列表,同时显示状态(在线/脱机)。我的用户将驻留在mysql数据库中。在单击用户时,我希望能够执行一些操作。
问题
我看到有datagrid,listview,listbox,但不确定要使用哪一个。另外,通过直接查询mysql数据库或访问一个只运行少量查询并给出数据的php脚本来显示用户是个好主意吗?
发布于 2012-11-22 12:18:20
ListBox控件不是一个很好的选项,因为它不容易支持多列。详细信息视图中的ListView控件是一个很好的选择。我认为它看起来和工作比一个DataGrid更好,但它本机不支持多行项目。如果您需要多行项,DataGrid控件可能是您的最佳选择。另一个让您具有更大灵活性的选项是使用LayoutPanel控件来显示您自己的UserControl的垂直列表。您可以任意设计UserControl,这意味着您可以完全控制列表中每个项的大小、外观和布局,而不受列表控件的限制。
就获取数据而言,这取决于。如果数据库总是在LAN上,并且性能很重要,那么每个客户端都应该直接访问数据库。否则,从php脚本、web服务或WCF服务获取数据将是一个更好的选择。
与其使用TableLayoutPanel,我建议使用FlowLayoutPanel和FlowDirection属性为TopDown,AutoScroll属性设置为True。然后,要动态添加控件,可以执行如下操作:
Dim item As New MyUserControl()
' Set properties of user control
FlowLayouPanel1.Controls.Add(item)https://stackoverflow.com/questions/13512299
复制相似问题