簡體   English   中英

如何在C#的列表框中填充幾行字符串

[英]How to Pad several rows of string in a listbox in C#

所以我一直在嘗試在列表框中顯示我的字符串行。 但是,無論我嘗試什么,每個字符串的填充似乎搞砸了。 我該怎么辦? 有人知道在列表框中正確填充字符串的方法嗎?

我嘗試改變我目前使用的格式化功能的值,因為它以前對我有效。 我將值從+ ve更改為-ve,但這一切都沒有加起來。 它沒有按照它應該的方式運作。

這是我使用的格式代碼:

format = "{0, -30}{1, -30}{2, -30}{3, -30}{4, -30}{5, -30}";
listBoxLandowners.Items.Add(String.Format(format, "Landowner ID", "First Name", "Last Name", "City", "Street", "Street Number"));

SQL.selectQuery("select * from Landowner", null, null);
if(SQL.read.HasRows)
{
     while(SQL.read.Read())
                {
                    _landID = SQL.read[0].ToString();
                    _fName= SQL.read[1].ToString();
                    _lName = SQL.read[2].ToString();
                    _city = SQL.read[3].ToString();
                    _street = SQL.read[4].ToString();
                    _streetNum = SQL.read[5].ToString();
                    listBoxLandowners.Items.Add(String.Format(format, _landID, 
                    _fName, _lName,_city, _street, _streetNum));
                }
            }

實際結果: 在此輸入圖像描述

我希望它能正確,整齊地填充,但無法使其工作。 非常感謝幫助。

在WinForms中,ListBox不是一個非常好的多列控件。

嘗試在詳細信息模式下使用ListView。

var listviewLandOwners = new ListView();
listviewLandOwners.View = View.Details;

在此模式下,第一列由ListViewItem的Text屬性控制。 第二列由SubItems[0] 第三個是SubItems[1] 等等。所以你的循環可能如下所示:

while(SQL.read.Read())
{
    var newItem = listviewLandowners.Items.Add(SQL.read[1].ToString());
    newItem.SubItems.Add(SQL.read[2].ToString());
    newItem.SubItems.Add(SQL.read[3].ToString());
    newItem.SubItems.Add(SQL.read[4].ToString());
    newItem.SubItems.Add(SQL.read[5].ToString());
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM