Создаю listview.
//Создаю колонки
for (int num1 = 0; num1 < area.Column; num1++)
{
ColumnHeader header1 = new ColumnHeader();
header1.Text = (num1 + 1).ToString();
header1.Width = 30;
header1.TextAlign = HorizontalAlignment.Right;
this.listView1.Columns.Add(header1);
}
//Создаю записи
for (int num2 = 0; num2 < area.Row; num2++)
{
int num = num2 + 1;
ListViewItem item = new ListViewItem(num.ToString());
item.UseItemStyleForSubItems = false;
//добавляю ListViewSubItem'ы
for (int num1 = 0; num1 < area.Column; num1++)
{
ListViewItem.ListViewSubItem item2 = new ListViewItem.ListViewSubItem();
item2.BackColor = Color.White;
item.SubItems.Add(item2);
}
item.BackColor = Color.White;
this.listView1.Items.Add(item);
}
потом хочу по нажатию кнопки изменить цвет ListViewSubItem'а, и записать в него текст.
private void button1_Click(object sender, System.EventArgs e)
{
int X = Int32.Parse(this.textBox1.Text);
int Y = Int32.Parse(this.textBox2.Text);
ListViewItem.ListViewSubItem item3 = listView1.Items[X].SubItems[Y];
item3.ForeColor = Color.White;
item3.BackColor = Color.DeepPink;
item3.Text = "SomeText";
this.Refresh();
}
Цвет меняется, текст нет. Смотрю, рефлектором свойство text.
public string Text
{
get
{
if (this.text != null)
{
return this.text;
}
return "";
}
set
{
this.text = value;
if (this.owner != null)
{
this.owner.UpdateSubItems(-1);
}
}
}
в студии при отладке
owner = <undefined value>
Вопрос — можно ли таким спосбом поменять текст субайтема?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>