Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 20353|Odpoveď: 0

[WinForm] C# získava obsah bunky pravým kliknutím na myš v zozname

[Kopírovať odkaz]
Zverejnené 29. 1. 2015 15:15:34 | | |

Keď klikneme pravým tlačidlom na ovládanie ListView, môžeme získať individuálny textový obsah vybranej položky.
Teraz žiadame, aby sme dostali iba textový obsah bunky po kliknutí pravým tlačidlom.
Tu je ako:
1. Definujte globálny stav myši
Bod m_MBRpt; Keď kliknete pravým tlačidlom na Point
2. Spracovať správu v listView pri stlačení myši
        private void listView1_MouseDown(object sender, MouseEventArgs e)
        {
            //
            if (e.Button==MouseButtons.Right)
            {
                Získajte súradnice myši na obrazovke a preveďte ich na súradnice ovládacích prvkov zoznamu
                m_MBRpt = listView1.PointToClient(Control.MousePosition);
            }

        }
3. Menu pravým tlačidlom – správa o kopírovanej položke
        private void COPYITEM_Click(object sender, EventArgs e)
        {
            Skopírujte obsah špecifikovanej bunky tabuľky
            ak (listView1.SelectedItems.Count <= 0)
            {
                MessageBox.Show ("Nie sú vybrané žiadne informácie o transakcii!") , "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Information);
                vrátiť;
            }

            Získajte súradnice myši na obrazovke a preveďte ich na súradnice ovládacieho systému zoznamu (spracujte a uložte, keď sa myš stlačí).
            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;
            Nastavte na pastovú dosku
            SetClipboardText(strText);

        }
4. Nastavte obsah pastovej dosky
        public void SetClipboardText(string strText)
        {
            Skús
            {
                Clipboard.SetDataObject(strText);
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(napr. Message, "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Error);            
            }
            
        }




Predchádzajúci:Chybové kódy a riešenia Dell Server 2013 Edition
Budúci:DIV+CSS zaoblené okraje
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com