Szanowni forumowicze,
dopiero uczę się programowania. Mam obiekt ListView i chciałbym żeby teskt z item'u aktualnie zaznaczonego wyświetlał mi się w label'u obok.
Utworzyłem więc taki oto event (załączony obrazek).
Aplikacja działa tak, że przy pierwszym kliknięciu w którykolwiek item, tekst w label1 zmienia się prawidłowo na tekst danego itemu. Natomiast przy drugim kliknięciu na którykolwiek item wywala mi program.
Będę wdzięczny za pomoc.
Jak mamy Ci pomóc, skoro nie podałeś treści wywałki?
Sorka, już zedytowałem pierwszy post i wrzuciłem screena.
jeśli się dopiero uczysz to może zacznij tą naukę od poznania adresu dokumentacji do języka i sposobu używania gugla
Trochę posiedziałem już w dokumentacji nad tym tematem, ale jestem początkujący i przyznaję, że nie wszystko jest dla mnie jasne. Ciągle nie wiem jak rozwiązać ten problem, dlatego napisałem tu na forum. Najlepiej uczę się na przykładach i liczyłem, że może ktoś pomoże.
Może powinienem użyć inny event?
no ale przecież masz tam przykład, który pokazuje dokładnie to co chcesz osiągnąć - pobrać tekst klikniętego elementu
private void ListView1_ItemSelectionChanged(Object sender, ListViewItemSelectionChangedEventArgs e) {
System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "IsSelected", e.IsSelected );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Item", e.Item );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "ItemIndex", e.ItemIndex );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "ItemSelectionChanged Event" );
}
wystarczy dodać do kodu i poklikać trochę aby zobaczyć co pokaże
Dodałem przytoczony przykład, odpaliłem i zrozumiałem o co chodzi :) Dzięki!
Jakby ktoś w przyszłości odkopał ten wątek i potrzebował rozwiązania to zrobiłem coś takiego i działa jak należy:
private void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
{
if (e.IsSelected)
label1.Text = listView1.SelectedItems[0].Text;
}