我創建了一個在串列框中顯示一些資訊的 Windows 表單。首先,我創建了具有 5 個屬性的 UserInfo 類:
public class RegUnregUser
{
public string Company { get; set; }
public string Email { get; set; }
public string Role { get; set; }
public object ID { get; set; }
public string RegistrationStatus { get; set; }
和一個 FullInfo 回傳這些屬性一個在另一個下:
public string FullInfo
{
get
{
return
$"Company: {Company}"
"\r\n"
$"Email: {Email}"
Environment.NewLine
$"Role: {Role} {Environment.NewLine} ID: {Id} {Environment.NewLine}"
$"RegistrationStatus: {RegistrationStatus}";
}
}
如您所見,我嘗試了所有可能的組合,但結果始終是:
Company: companytest1Email: emailtest1 ..
我該怎么做才能顯示這些資訊:
Company: companytest1
Email: emailtest1
..
Form1 中的代碼。有一個文本框供用戶搜索電子郵件,當他們單擊“搜索”按鈕時,會在資料庫上進行查詢,在表格中搜索此電子郵件并回傳結果。我知道這是一個簡單的 sql 注入,但我將是唯一使用此代碼的人
public partial class Dashboard : Form
{
List<RegUnregUser> regUnregUsers = new List<RegUnregUser>();
public Dashboard()
{
InitializeComponent();
RegUnregUsersListBox.DataSource = regUnregUsers;
RegUnregUsersListBox.DisplayMember = "FullInfo";
}
private void RegUnregSearchButton_Click(object sender, EventArgs e)
{
DataAccess db = new DataAccess();
regUnregUsers = db.GetRegUnregUsers(EmailTextBox.Text);
RegUnregUsersListBox.DataSource = regUnregUsers;
RegUnregUsersListBox.DisplayMember = "FullInfo";
}
}
在此先感謝您的幫助
uj5u.com熱心網友回復:
我該怎么做才能像這樣顯示這些資訊
簡單的回答?你不能*
串列框的設計并不是每個專案都有多行文本,而且看起來您希望查詢回傳多個用戶,因此建議副本中的建議(在我看來)相當糟糕,因為它們本質上創建了多個串列框中的專案,每行文本一個。如果您回傳了 50 個用戶和 5 個屬性,則它是一個 250 個專案的串列框。非常原始:/
考慮使用 DataGridView 代替:
public partial class Dashboard : Form
{
public Dashboard()
{
InitializeComponent();
}
private void RegUnregSearchButton_Click(object sender, EventArgs e)
{
DataAccess db = new DataAccess();
RegUnregUsersListBox.DataSource = db.GetRegUnregUsers(EmailTextBox.Text);
}
}
當然,您需要接受您的 RegUnregUser 的屬性,每列分布一個,但我保證,這樣會更好:)
* 當然,不可能是絕對真理。我敢肯定,如果你想花時間寫一些你自己繪制專案的東西,你會做到的
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/382076.html
