WindowsForms. ListView, ListBox.

WindowsForms. ListView, ListBox.
JK
  • Rejestracja:ponad 9 lat
  • Ostatnio:prawie 9 lat
  • Postów:55
0

Czy istnieje jakiś sposób, by jednej z tych dwóch kontrolek itemy dodawały się w konfiguracji - po dwa na wiersz?
Tzn. chciałbym, by wyglądało to tak:

item0 item1
item2 item3
item4 item5

Lub może istnieje jakaś inna kontrolka, która to umożliwia, wraz z możliwością wywołania eventu pozwalającego odwołać się do zaznaczonego itemu (jak np. "Item Selection Changed - w przypadku ListView)

KL
  • Rejestracja:około 10 lat
  • Ostatnio:prawie 6 lat
  • Postów:156
0

Chodzi Ci iż masz listę ListView lub ListBox i chciał byś mieć możliwość wbijania multum elementów.

strona http://stackoverflow.com/questions/473148/c-sharp-listview-how-do-i-add-items-to-columns-2-3-and-4-etc

Kopiuj
 
string[] row1 = { "s1", "s2", "s3" };
listView1.Items.Add("Column1Text").SubItems.AddRange(row1);
Kopiuj
ListViewItem item1 = new ListViewItem("Something");
item1.SubItems.Add("SubItem1a");
item1.SubItems.Add("SubItem1b");
item1.SubItems.Add("SubItem1c");

ListViewItem item2 = new ListViewItem("Something2");
item2.SubItems.Add("SubItem2a");
item2.SubItems.Add("SubItem2b");
item2.SubItems.Add("SubItem2c");

ListViewItem item3 = new ListViewItem("Something3");
item3.SubItems.Add("SubItem3a");
item3.SubItems.Add("SubItem3b");
item3.SubItems.Add("SubItem3c");

ListView1.Items.AddRange(new ListViewItem[] {item1,item2,item3});
 
edytowany 1x, ostatnio: komur.l
JK
  • Rejestracja:ponad 9 lat
  • Ostatnio:prawie 9 lat
  • Postów:55
0

Dla SubItems nie mogę zidentyfikować indexu(chyba, że o czymś nie wiem), dlatego zdecydowanie wolałbym, aby każdy element był osobnym itemem.

KL
  • Rejestracja:około 10 lat
  • Ostatnio:prawie 6 lat
  • Postów:156
0

Jest pewne obejście tylko pytanie po co ci To i co chcesz z tym dalej robić. Oraz jak chcesz to wykorzystać.

Rozwiązanie kiedy do każdego powiedz itemu chcesz podczepić jakąś kontrolkę lub szereg kontrolek to możesz to robić na dwojaki sposób.

To jest prosty przykład. Widziałem inne gdzie wrzucało się 2 object na raz w listView. A odwołujesz się do nich tak jak do normalnych kontrolek. W sytuacji gdy chcesz np sprawdzić w jakim inexie ona jest albo jakby to tak powiedzieć chcesz w niej coś zmienić i nie używajac indexów to inna bajka. Ale też można to zrobić to Ci napisze potem jak.

Kopiuj

            StackPanel myStackPanel = new StackPanel();               // tworzysz stack panel
            myStackPanel.Orientation = Orientation.Horizontal;

            /* Informacje o logach */                                      // tworzysz jeden obiekt
            Label logsLabel = new Label();                              // tutaj jest to label
            logsLabel.Content = logs.ToString();
            logsLabel.Foreground = logs.MyBrush();
            logsLabel.FontSize = logs.FontSize();



            /* Dodawanie zdjęcia */
            Image myImage = new Image();                              // tworzysz 2 obiekt
            myImage.Source = logs.ImageFile();
            myImage.Width = 20;
            myImage.Height = 20;



            /*Dodawanie do panelu */
            myStackPanel.Children.Add(myImage);                    // dodajesz obiekty do panelu
            myStackPanel.Children.Add(logsLabel);             

            /* Dodanie Panelu */
            myListBox.Items.Add(myStackPanel);                     // panel umieszczasz w listboxie np 
 
KL
  • Rejestracja:około 10 lat
  • Ostatnio:prawie 6 lat
  • Postów:156
0

a tak btw jak chcesz zrobić odwołanie się np do jakiejś kontrolki na przykładzie prostego buttona ;)

Kopiuj
Button myButton = new Button();
myButton.Click += metchod;

gdy klikasz wywołujesz metchod tak zdeklarowana

Kopiuj
private void metchod(object sender, EventArgs e)
{
    Button ChooseButton = (Button)sender; // Odwołanie się do kontrolki która wywołała akcję za pomocą sender ;)
    MessageBox.Show("Cześć wybrałeś przycisk z text " + ChooseButton.Text); // przykład już po inicjacji wybranej kontrolki
}
edytowany 1x, ostatnio: komur.l
ŁF
metChod? Polskie błędy ortograficzne w obcym języku? oO
KL
oj tam oj tam ;) jakbyś widział dokumentacje api z którą muszę pracować to sam byś już tak pisał po miesiącu np parametry dostawane "fields","count" a tutaj nagle "countKomornik","parameterKomornik " albo taka metoda do wywołania Metoda "getUzupelnianieDanychCount", "getPhasesClientNotToServe" - oznacza pobranie fraz dla klienta które informują iż klient nie jest możliwy do obsłużenia.
ŁF
Popraw i tyle. Nie Ty jedyny pracujesz z gównianym kodem.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.