次のフォームを作成しましたが、メンバー数リストボックスにメンバー数を表示する際に問題が発生しました。これは、[アーティストを追加] ボタンを押す前のスクリーンショットです。
アーティストの数ではなくアーティスト名の内容を使用していることがわかります。
form1のコードは次のとおりです。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Dictionary<String, Book> music = new Dictionary<String, Book>();
private void btnAdd_Click(object sender, EventArgs e)
{
if ((txtIsbn.Text != "") & (txtArtist.Text != "")) // if text artist name and number of artists is present
{
try { music.Add(txtArtist.Text, new Book(txtArtist.Text, txtIsbn.Text)); } //txtArtist
catch { MessageBox.Show("Already Exist!!"); }
}
else MessageBox.Show("Please fill in both Artist Name and Number of Members");
listBox1.Items.Clear();
listBox2.Items.Clear();
listBox3.Items.Clear();
foreach (var pair in music)
{
listBox1.Items.Add(pair.Key);
//listBox2.Items.Add(pair.Value.Onloan);
listBox3.Items.Add(pair.Key);
}
}
そして、これがArtistクラスのコードです(以前に作成したプログラムを編集したため、bookと呼ばれます):
class Book
{
private String mem; //mem = number of members
private string artist;
public Book(string mem, string artist)
{
this.mem = mem;
this.artist = artist;
}
public string MEM
{
get { return mem; }
set { mem = value; }
}
public string Artist
{
get { return artist; }
set { artist = value; }
}
「キー」コマンドからアーティスト名の値を追加していることに気付きました: listBox3.Items.Add(pair.Key);
しかし、私はそれを何に変更すればよいかわかりません..どんな助けも大歓迎です:)