Microsoft
Software
Hardware
Network
Question : Using dragdrop, how to "reset" color of a label when mouse leaves and drop has not occurred?
To create a simple example:
1. Begin a new WinForms project named TEST DragDrop.
2. On Form1, use the toolbox to:
- Add label1 and set Properties to AllowDrop.
- Add label2 and set Properties to AllowDrop.
- Add richTextBox1 and set Properties to EnableAutoDragDrop.
3. Modify the code in Form1 to look like this:
public Form1()
{
InitializeComponent();
}
private void AnyLabel_DragEnter(object sender, DragEventArgs e)
{
//Get sender
Label lbl = (Label)sender;
lbl.BackColor = Color.Green;
if (e.Data.GetDataPresent(Dat
aFormats.T
ext))
e.Effect = DragDropEffects.Copy;
else
e.Effect = DragDropEffects.None;
}
private void AnyLabel_DragDrop(object sender, DragEventArgs e)
{
//Get sender and insert text string
Label lbl = (Label)sender;
lbl.Text = (string)e.Data.GetData(Dat
aFormats.T
ext, false);
}
}
4. In Properties, for each label click Events and:
- For DragEnter, select AnyLabel_DragEnter
- For DragDrop, select AnyLabel_DragDrop
5. Compile and run. Type some text into the textbox, select the text, and drag the text to label1 and continue dragging to label2. Drop the text on label2.
COMMENTS: The problem is that when the drop is not released and the mouse leaves label1, the BackColor should reset to normal. Then the mouse could travel back and forth between each label (showing "green" then "not green") until the drop is released.
Answer : Using dragdrop, how to "reset" color of a label when mouse leaves and drop has not occurred?
Handle DragLeave for the label and in that handler set the back color back to the default like:
private void AnyLabel_DragLeave(object sender, EventArgs e)
{
Label lbl = (Label)sender;
lbl.BackColor = defaultLabelBackColor;
}
Random Solutions
Is there a way to format an external drive so Linux and Windwos 7 can see it?
Creating a new Array and Logical Drive
You Do Not Have Permission To Send On Behalf Of The Scified User
How do you create a manual SOAP request to a web service in C#?
check to see if an image exists on a remote server in vb.net
Globally change the Blackberry Service Display name
What is the extension to bring in a 2007 Excel xlsm workbook into Access 2007?
Class Diagram
Exchange 2007 mail relay
Samba share on Windows 2003