[英]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.