2012-11-22 92 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實際上是我需要的。這服務我的目的。答覆你的答案。我可能沒有其他疑點。請回答。 –