Господа, была у меня проблемк — сделать возможным ввод в ListView.
Одним из решений было динамически создавать textBox, что я и сделал.
Но в целом меня смущает некоторая корявость этого решения. в C# я новичек,
поэтому прошу Вас покритиковать нижеследуещее...
Итак.
Есть множество разных ListView. Штуки три

.
Созадны посредством дизайнера.
Перехватываем следующие события в таком аспекте:
private void listViewRegions_SelectedIndexChanged(object sender, System.EventArgs e)
{
if(listViewRegions.SelectedItems.Count < 1)
{
listViewRegions.Items[prevSelectionRegions].SubItems[1].Text = tempTextBox.Text;
tempTextBox.Hide();
tempTextBox.Dispose();
return;
}
DoEdit(ref prevSelectionRegions, ref listViewRegions);
}
private void listViewRegions_Leave(object sender, System.EventArgs e)
{
try
{
listViewRegions.Items[prevSelectionRegions].SubItems[1].Text = tempTextBox.Text;
tempTextBox.Hide();
tempTextBox.Dispose();
return;
}
catch(Exception ex)
{
MessageBox.Show("Непонятная, жутковатая ошибка");
}
}
Также имеется ф-я
private void DoEdit( ref int prevSelection, ref ListView listView)
{
TextBox m_tempTextBox = new TextBox();
m_tempTextBox.BorderStyle = 0;
m_tempTextBox.Size = new System.Drawing.Size(listView.Columns[1].Width,
listView.SelectedItems[0].Bounds.Height);
m_tempTextBox.Location = new System.Drawing.Point(listView.Columns[0].Width,
listView.SelectedItems[0].Bounds.Top);
m_tempTextBox.TabIndex = 1;
m_tempTextBox.Parent = listView;
m_tempTextBox.Text = listView.Items[listView.SelectedIndices[0]].SubItems[1].Text;
tempTextBox = m_tempTextBox;
prevSelection = listView.SelectedIndices[0];
m_tempTextBox.Show();
m_tempTextBox.Focus();
m_tempTextBox.Select(0,m_tempTextBox.Text.Length);
}
В классе формы объявлены
private TextBox tempTextBox; // For listView in Load
private int prevSelectionRegions;
Вроде бы все более менее неглючно, но хотелось бы, чтобы спецы взглянули.
Спасибо большое!
Я весьма доверчив, когда речь идет о моих словах. Я верю всему, что
говорю, хотя и знаю, что я лжец.
А зачем критиковать. Залезь на CodeProject и найди нормальный ListView, где в ячейки можно вставлять любые объекты. Я находил такой.
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Здравствуйте, kvseek, Вы писали:
K>А зачем критиковать. Залезь на CodeProject и найди нормальный ListView, где в ячейки можно вставлять любые объекты. Я находил такой.
K>
данное сообщение получено с www.gotdotnet.ru
K>ссылка на оригинальное сообщение
а где этот CodeProject?
и вообще где то можно найти пример ListView для ASP .NET
когда рассказываете о своих достижениях, жалейте чувства других (с)афоризмы)
Здравствуйте, Astellar, Вы писали:
A>Господа, была у меня проблемк — сделать возможным ввод в ListView.
XPTable устроит?
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Здравствуйте, just_kID, Вы писали:
_ID>Здравствуйте, kvseek, Вы писали:
K>>А зачем критиковать. Залезь на CodeProject и найди нормальный ListView, где в ячейки можно вставлять любые объекты. Я находил такой.
K>>
данное сообщение получено с www.gotdotnet.ru
K>>ссылка на оригинальное сообщение
_ID>а где этот CodeProject?
В районе
www.codeproject.com
Даааа, много времени прошло с тех пор..
Тот код, что я тут привел, работает, и даже используется

Но глюкавый он, неудобный контрол получился — с точки зрения попадания в ячейки
Не надо его использовать
Я весьма доверчив, когда речь идет о моих словах. Я верю всему, что
говорю, хотя и знаю, что я лжец.
Здравствуйте, ekamaloff, Вы писали:
E>Здравствуйте, Astellar, Вы писали:
A>>Господа, была у меня проблемк — сделать возможным ввод в ListView.
E>XPTable устроит?
СУПЕР ПРОСТО!