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
Setting up wireless on a Cisco 1811
Logging computer off network
Edge Sync Fails
LUN unpresented from ESX hosts causing alarms
Preparing a AD to add MAC hardware
identical javascript code works in one website but not in another?
Can't access shared folders and printers in Win 7 Pro in XP Home
Barracuda Load Balancer 340 - balances fine but real servers cannot connect to Interenet
custom Flex DataGrid Filter
Windows Time Issue for 2003 Server