Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 20353|Odpověď: 0

[WinForm] C# získá obsah buňky kliknutím pravým tlačítkem myši v zobrazení

[Kopírovat odkaz]
Zveřejněno 29.01.2015 15:15:34 | | |

Když klikneme pravým tlačítkem na ovládací ovládání ListView, můžeme získat jednotlivé textové informace vybrané položky.
Nyní žádáme, abychom při pravém kliknutí dostali pouze textový obsah buňky.
Zde je návod, jak na to:
1. Definujte globální stav myši
Bod m_MBRpt; Když kliknete pravým tlačítkem na Point
2. Zvládněte zprávu v listView při stisknutí myši
        private void listView1_MouseDown(object sender, MouseEventArgs e)
        {
            //
            if (e.Button==MouseButtons.Right)
            {
                Získejte souřadnice myši na obrazovce a převeďte je na souřadnice ovládacích prvků seznamu
                m_MBRpt = listView1.PointToClient(Control.MousePosition);
            }

        }
3. Menu pravého tlačítka – zpráva o kopírované položce
        private void COPYITEM_Click(object sender, EventArgs e)
        {
            Zkopírovat obsah specifikované buňky tabulky
            if (listView1.SelectedItems.Count <= 0)
            {
                MessageBox.Show("Nebyla vybrána žádná informace o transakci!") , "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Information);
                vrátit;
            }

            Získejte souřadnice myši na obrazovce a převeďte je na souřadnice ovládání seznamu (zpracujte a uložte, když je myš stisknuta)
            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 pastovací desku
            SetClipboardText(strText);

        }
4. Nastavte obsah pastové desky
        public void SetClipboardText(string strText)
        {
            zkus
            {
                Clipboard.SetDataObject(strText);
            }
            catch (System.Exception ex)
            {
                MessageBox.Show (např. Message, "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Error);            
            }
            
        }




Předchozí:Chybové kódy a řešení Dell Server 2013 Edition
Další:DIV+CSS zaoblené okraje
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com