Как определиться объект какого типа мы перетаскивали мышью? - C#
Формулировка задачи:
Всем здравствуйте.
На форме label1 и button1. Оба объекта могут инициировать перетаскивание по форме (DragOnDrop). Нужно определить какой тип объекта мы перетаскиваем. Скорее всего для этого нужно использовать аргумент события с именем e (DragEventArgs e).
Но как?
Листинг программы
- namespace Drop
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- this.AllowDrop = true;
- }
- private void button1_MouseDown(object sender, MouseEventArgs e)
- {
- button1.DoDragDrop(sender, DragDropEffects.All);
- }
- private void label1_MouseDown(object sender, MouseEventArgs e)
- {
- label1.DoDragDrop(sender, DragDropEffects.All);
- }
- private void Form1_DragEnter(object sender, DragEventArgs e)
- {
- e.Effect = DragDropEffects.All;
- }
- private void Form1_DragDrop(object sender, DragEventArgs e)
- {
- MessageBox.Show("Что мы таскали? Label или Button?");
- }
- }
- }
Решение задачи: «Как определиться объект какого типа мы перетаскивали мышью?»
textual
Листинг программы
- private void Form1_DragDrop(object sender, DragEventArgs e)
- {
- if (e.Data.GetFormats()[0] == typeof(Label).ToString())
- {
- MessageBox.Show(((Label)e.Data.GetData(e.Data.GetFormats()[0])).Name);
- }
- else if (e.Data.GetFormats()[0] == typeof(Button).ToString())
- {
- MessageBox.Show(((Button)e.Data.GetData(e.Data.GetFormats()[0])).Name);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д