Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 20353|Răspunde: 0

[WinForm] C# obține conținutul unei celule făcând clic dreapta pe mouse în vizualizarea listei

[Copiază linkul]
Postat pe 29.01.2015 15:15:34 | | |

Când facem clic dreapta pe controlul ListView, putem obține conținutul textului individual al elementului selectat.
Acum cerem să obținem doar conținutul textului celulei când facem clic dreapta.
Iată cum:
1. Definirea stării globale a șoarecelui
Punctul m_MBRpt; Când dai click dreapta pe Punct
2. Gestionează mesajul în listView când mouse-ul este apăsat
        private void listView1_MouseDown(object sender, MouseEventArgs e)
        {
            //
            if (e.Button==MouseButtons.Right)
            {
                Obține coordonatele mouse-ului de ecran și convertește-le în coordonatele comenzilor de listă
                m_MBRpt = listView1.PointToClient(Control.MousePosition);
            }

        }
3. Meniul cu click dreapta - mesajul elementului de copiere
        vid privat COPYITEM_Click(object sender, EventArgs e)
        {
            Copiază conținutul celulei tabelului specificat
            dacă (listView1.SelectedItems.Count <= 0)
            {
                MessageBox.Show("Nicio informație de tranzacție selectată!") , "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Information);
                restitui;
            }

            Obține coordonatele mouse-ului de ecran și convertește-le în coordonatele controlului listei (procesează și salvează când mouse-ul este apăsat)
            Point pt = listView1.PointToClient(m_MBRpt);

            ListViewItem lstrow = listView1.GetItemAt(m_MBRpt.X, m_MBRpt.Y);
            System.Windows.Forms.ListViewItem.ListViewSubItem lstcol = lstrow. GetSubItemAt(m_MBRpt.X, m_MBRpt.Y);
            string strText = lstcol. Text;
            Setați pe tabla de lipire
            SetClipboardText(strText);

        }
4. Setează conținutul plăcii de paste board
        public void SetClipboardText(string strText)
        {
            încearcă
            {
                Clipboard.SetDataObject(strText);
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex. Message, "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Error);            
            }
            
        }




Precedent:Coduri de eroare și soluții Dell Server ediția 2013
Următor:Borduri rotunjite DIV+CSS
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com