Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 20353|Odgovoriti: 0

[WinForm] C# pridobi vsebino celice z desnim klikom na miško v seznamu

[Kopiraj povezavo]
Objavljeno na 29. 01. 2015 15:15:34 | | |

Ko z desnim klikom kliknemo na kontrolo ListView, lahko dobimo posamezno besedilno vsebino izbranega elementa.
Zdaj zahtevamo, da dobimo le besedilno vsebino celice, ko kliknemo z desno mišico.
Tukaj je, kako:
1. Definirajte globalno stanje miške
Točka m_MBRpt; Ko z desnim klikom klikneš Point
2. Obravnavajte sporočilo v listView, ko pritisnete miško
        private void listView1_MouseDown(object sender, MouseEventArgs e)
        {
            //
            if (e.Button==MouseButtons.Right)
            {
                Pridobi koordinate miške na zaslonu in jih pretvori v koordinate kontrol seznama
                m_MBRpt = listView1.PointToClient(Control.MousePosition);
            }

        }
3. Meni z desnim klikom – sporočilo kopiranega elementa
        private void COPYITEM_Click(object sender, EventArgs e)
        {
            Kopirajte vsebino določene celice tabele
            if (listView1.SelectedItems.Count <= 0)
            {
                MessageBox.Show ("Ni izbrana nobena informacija o transakciji!") , "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Information);
                vrnitev;
            }

            Pridobi koordinate zaslonske miške in jih pretvori v koordinate kontrolnega seznama (obdelaj in shrani, ko pritisneš miško).
            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. Besedilno sporočilo;
            Nastavi na lepilno ploščo
            SetClipboardText(strText);

        }
4. Nastavite vsebino lepilne plošče
        public void SetClipboardText(string strText)
        {
            poskusi
            {
                Clipboard.SetDataObject(strText);
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(npr. Message, "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Error);            
            }
            
        }




Prejšnji:Dell Server Error Code and Solutions 2013 Edition
Naslednji:DIV+CSS zaobljene meje
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com