Spostamento label seguendo valori presenti in array c#

di il
3 risposte

Spostamento label seguendo valori presenti in array c#

Salve a tutti, sono uno studente, nuovo del forum, come sono nuovo nel settore della programmazione. Sono ancora alle prime armi, ho iniziato a programmare usando c# solo da gennaio (quindi non conosco ancora tutte le terminologie). Scrivo questo post perchè ho il compito di programmare un programma che esegue l'ordinamento di una serie di elementi (numeri in questo caso) presenti in una listView. Fino a qui nessun problema, quando però il nostro professore ci ha chiesto di mostrare all'utente che ci siano due freccie (usando il label "->") che si spostino a seconda dei numeri con cui il programma si sta confrontando, e mi sforzo nel pensare a come poter fare ma non so nemmeno da dove partire. Di seguito posto il codice usati per un ordinamento semplice, ovvero che confronta il primo numero con i successivi e in caso fosse maggiore li scambia, e quello dell'ordinamento bubblesort

 private void ordinaSemplice()
            {
                string dep;                

                for (int i = 0; i < (listView1.Items.Count -1 ); i++)
                {   
                    for (int l = i + 1; l < (listView1.Items.Count); l++)
                    {
                        System.Threading.Thread.Sleep(100);
                        
                        if (int.Parse(listView1.Items[i].Text) > int.Parse(listView1.Items[l].Text))
                        {
                            dep = listView1.Items[i].Text;                            
                            listView1.Items[i].Text = listView1.Items[l].Text; ;
                            listView1.Items[l].Text = dep;
                            listView1.Refresh();
                            dep = listViewAst.Items[i].Text;
                            listViewAst.Items[i].Text = listViewAst.Items[l].Text; ;
                            listViewAst.Items[l].Text = dep;
                            listViewAst.Refresh();
                            labelS.Location = new Point(labelS.Location.Y+450);                           


 private void ordinaBubbleSort()
        {
            string dep;
            int n;
            n = 1;

            while (n != 0)
            {
                n = 0;
                for (int i = 0; i < (listView1.Items.Count - 1); i++)
                {
                    if (int.Parse(listView1.Items[i].Text) > int.Parse(listView1.Items[i + 1].Text))
                    {
                        dep = listView1.Items[i].Text;
                        listView1.Items[i].Text = listView1.Items[i + 1].Text;
                        listView1.Items[i + 1].Text = dep;
                        n++;
                        System.Threading.Thread.Sleep(100);
                        listView1.Refresh();
                        dep = listViewAst.Items[i].Text;
                        listViewAst.Items[i].Text = listViewAst.Items[i+1].Text; ;
                        listViewAst.Items[i+1].Text = dep;
                        listViewAst.Refresh();
                        
                    }

                }
il "listViewAst è superfluo, è per un altra sfumatura del programma. Ringrazio in anticipo chi avrà la pazienza di aiutarmi, e mi scuso nel postare problematiche stupide di questo tipo, ma come detto sono alle prime armi.
Saluti

3 Risposte

Devi accedere o registrarti per scrivere nel forum
3 risposte