Desktop
Website
Multimedia
Database
Security
Enterprise
Vraag : Het gebruiken dragdrop, hoe te kleur van een etiket wanneer de muis weggaat en daling „is terugstellen“ niet voorgekomen?
Om een eenvoudig voorbeeld te creëren:
1. Begin met een nieuw project WinForms genoemd TEST DragDrop.
2. Voor Form1, gebruik toolbox:
- Om label1 en vastgestelde Eigenschappen aan AllowDrop toe te voegen.
- Om label2 en vastgestelde Eigenschappen aan AllowDrop toe te voegen.
- Om richTextBox1 en vastgestelde Eigenschappen aan EnableAutoDragDrop toe te voegen.
3. De code in Form1 te wijzigen om als dit te kijken:
openbare Form1 ()
{
InitializeComponent ();
}
privé nietige AnyLabel_DragEnter (objecten afzender, DragEventArgs e)
{
//Get afzender
Etiket lbl = (Etiket) afzender;
lbl.BackColor = Color.Green;
als (e.Data.GetDataPresent (DataFormats.Text
))
e.Effect = DragDropEffects.Copy;
anders
e.Effect = DragDropEffects.None;
}
privé nietige AnyLabel_DragDrop (objecten afzender, DragEventArgs e)
{
//Get afzender en het koord van de tussenvoegseltekst
Etiket lbl = (Etiket) afzender;
lbl. Tekst = (koord) e.Data.GetData (valse
DataFormats.Text,);
}
}
4. In Eigenschappen, voor elk etiket klik Gebeurtenissen en:
- Voor DragEnter, uitgezochte AnyLabel_DragEnter
- Voor DragDrop, uitgezochte AnyLabel_DragDrop
5. Compileer en loop. Typ één of andere tekst in textbox, selecteer de tekst, en sleep de tekst aan label1 en blijf slepend aan label2. Laat vallen de tekst op label2.
BECOMMENTARI�ëRT: Het probleem is dat wanneer de daling niet wordt vrijgegeven en de muis label1 verlaat, BackColor aan normaal zou moeten terugstellen. Dan kon de muis afwisselend tussen elk etiket die („groene“ toen „niet groen“ tonen) reizen tot de daling wordt vrijgegeven.
Antwoord : Het gebruiken dragdrop, hoe te kleur van een etiket wanneer de muis weggaat en daling „is terugstellen“ niet voorgekomen?
Het handvat DragLeave voor het etiket en in die manager plaatste de achterkleur terug naar het gebrek als:
privé nietige AnyLabel_DragLeave (objecten afzender, EventArgs e)
{
Etiket lbl = (Etiket) afzender;
lbl.BackColor = defaultLabelBackColor;
}
Andere oplossingen
Somebody verzendt emialsvorm mijn hotmailrekening
een programma probeert om het volgende e-mailbericht uit uw naam te verzenden - de Levende post van Vensters
Kleine Statische IP Bedrijfs van de Server 2008 verandering
sharepoint stichting 2010 op met 32 bits?
Word 2003 die - met lijsten, rijen, en cellen werken
Navigeer aan de pagina van een specifiek punt op een gridview
Hyperlink die het diagram/de Tekening activeren
Apple iWeb - hoe te om HTML aan Schijf de website via FTP te publiceren te bewaren of?
sql - datumformaat
Het van een lus voorzien over de tellers van googlekaarten v3