以下のコードは、選択したインデックスが変更されたときにlistviewで受け取った電子メールを表示して、選択した電子メールの本文をRTBに表示します。問題は、私はデータグリッドビューで動作するようにコードを変更し、現在はタグの部分は文句を言わない仕事である タグ配列c#winforms
void SomeFunc() // This line added by Jon
{
int i;
for (i = 0; i < bundle.MessageCount; i++)
{
email = bundle.GetEmail(i);
ListViewItem itmp = new ListViewItem(email.From);
ListViewItem.ListViewSubItem itms1 =
new ListViewItem.ListViewSubItem(itmp, email.Subject);
ListViewItem.ListViewSubItem itms2 =
new ListViewItem.ListViewSubItem(itmp, email.FromName);
itmp.SubItems.Add(itms1);
itmp.SubItems.Add(itms2);
listView1.Items.Add(itmp).Tag = i;
richTextBox1.Text = email.Body;
}
// Save the email to an XML file
bundle.SaveXml("email.xml");
}
private void listView1_SelectionChanged(object sender, EventArgs e)
{
if (listView1.SelectedCells.Count > 0)
{
// bundle is now accessible in your event handler:
richTextBox1.Text = bundle.GetEmail((int)listView1.SelectedCells[0].Tag).Body;
}
}
コードデータグリッドビューのために
int i;
for (i = 0; i < bundle.MessageCount; i++)
{
email = bundle.GetEmail(i);
string[] row = new string[] { email.From, email.Subject, email.FromName };
object[] rows = new object[] { row };
foreach (string[] rowArray in rows)
{
dataGridView1.Rows.Add(rowArray);
}
} // This line added by Jon
「仕事がない」とはどういう意味ですか?コンパイルエラー、ランタイムエラー、または期待どおりに起こっていないことはありますか(この場合は、何が期待されていますか?)。私はあなたのコードでDataGridViewへの参照を見ることができません。 –
まあ、どこに.Tag = i;私はそれを置くときにライン((dataGridView1.Rows.Add(rowArray);))私は 'int'は、 'タグ'の定義を含んでいないし、 'int'のタイプの最初の引数を受け入れる拡張メソッド 'タグ'を含まない(使用している指示やアセンブリの参照がありませんか?) 私はそれがprobなので何かばかげているが、私はそれを理解することができる – Shane121