Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 20353|Atsakyti: 0

[WinForm] C# gauna langelio turinį dešiniuoju pelės mygtuku spustelėdamas pelės mygtuką sąrašorodinyje

[Kopijuoti nuorodą]
Paskelbta 2015-01-29 15:15:34 | | |

Dešiniuoju pelės mygtuku spustelėję valdiklį "ListView", galime gauti atskirą pasirinkto elemento teksto turinį.
Dabar prašome dešiniuoju pelės mygtuku spustelėjus gauti tik langelio teksto turinį.
Štai kaip:
1. Apibrėžkite pasaulinę pelės būseną
m_MBRpt punktas; Dešiniuoju pelės mygtuku spustelėjus Taškas
2. Tvarkykite pranešimą sąrašePeržiūrėkite, kai paspaudžiama pelė
        privatus void listView1_MouseDown(objekto siuntėjas, MouseEventArgs e)
        {
            //
            if (e.Button==MouseButtons.Right)
            {
                Gaukite ekrano pelės koordinates ir konvertuokite jas į sąrašo valdiklių koordinates
                m_MBRpt = listView1.PointToClient(Control.MousePosition);
            }

        }
3. Dešiniuoju pelės mygtuku spustelėkite meniu - kopijavimo elemento pranešimas
        privatus void COPYITEM_Click(objekto siuntėjas, EventArgs e)
        {
            Nukopijuokite nurodyto lentelės langelio turinį
            if (listView1.SelectedItems.Count <= 0)
            {
                MessageBox.Show("Nepasirinkta operacijos informacija!") , "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Information);
                grįžti;
            }

            Gaukite ekrano pelės koordinates ir konvertuokite jas į sąrašo valdiklio koordinates (apdorokite ir išsaugokite paspaudus pelę)
            Taškas 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. SMS žinutė;
            Nustatyti įklijavimo lentoje
            SetClipboardText(strText);

        }
4. Nustatykite įklijavimo lentos turinį
        public void SetClipboardText(string strText)
        {
            Pabandykite
            {
                Mainų sritis.SetDataObject(strText);
            }
            laimikis (System.Exception ex)
            {
                MessageBox.Show(pvz. Message, "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Error);            
            }
            
        }




Ankstesnis:"Dell Server" klaidų kodai ir sprendimai 2013 m. leidimas
Kitą:DIV+CSS suapvalintos kraštinės
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com