Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не возникает событие DragDrop, почему? Событие DragDrop 
V
    Опции темы
JeksonS
Дата 2.10.2008, 02:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 2.10.2008

Репутация: нет
Всего: нет



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Media;

namespace WinApp2
{
    public class Form1 : Form
    {

        public Form1()
        {
            private System.ComponentModel.IContainer components = null;
            protected override void Dispose(bool disposing)
         {
                if (disposing && (components != null))
                 {
                     components.Dispose();
                 }
                base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        private void InitializeComponent()
        {
            this.label1 = new System.Windows.Forms.Label();
            this.label2 = new System.Windows.Forms.Label();
            this.SuspendLayout();
            // 
            // label1
            // 
            this.label1.AutoSize = true;
            this.label1.Location = new System.Drawing.Point(23, 25);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(35, 13);
            this.label1.TabIndex = 0;
            this.label1.Text = "label1";
            this.label1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.label1_MouseDown);
            this.label1.GiveFeedback += new System.Windows.Forms.GiveFeedbackEventHandler(this.label1_GiveFeedback);
            // 
            // label2
            // 
            this.label2.AllowDrop = true;
            this.label2.AutoSize = true;
            this.label2.Location = new System.Drawing.Point(216, 25);
            this.label2.Name = "label2";
            this.label2.Size = new System.Drawing.Size(35, 13);
            this.label2.TabIndex = 0;
            this.label2.Text = "label2";
            this.label2.DragDrop += new System.Windows.Forms.DragEventHandler(this.label2_DragDrop);
            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(292, 271);
            this.Controls.Add(this.label2);
            this.Controls.Add(this.label1);
            this.Name = "Form1";
            this.Text = "Form1";
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        #endregion

        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.Label label2;
        
            InitializeComponent();
            CenterToScreen();
        }

        private void label2_DragDrop(object sender, DragEventArgs e)
        {
            label2.Text = label1.Text;
        }


        private void label1_MouseDown(object sender, MouseEventArgs e)
        {
            DragDropEffects dde = label1.DoDragDrop(label1.Text, DragDropEffects.All | DragDropEffects.Copy);
        }
   }
}
================================
Подскажите, пожалуйста. Все события в этом коде перепробовал - всё работает, а вот, событие DragDrop не работает. Всё что можно было, уже прочитал и поискал. Заранее спасибо. Если можно, ткните меня м MSDN, где это описано.


Это сообщение отредактировал(а) JeksonS - 2.10.2008, 02:41
PM MAIL   Вверх
Partizan
Дата 2.10.2008, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 8
Всего: 67



может AllowDrop стоит в false?


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Retro
Дата 2.10.2008, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Диалектик
***


Профиль
Группа: Участник Клуба
Сообщений: 1934
Регистрация: 28.6.2005
Где: Киев

Репутация: 3
Всего: 117



JeksonS, лучше бы выложил проект в архиве, так проще помочь и быстрее. smile 
PM MAIL   Вверх
JeksonS
Дата 2.10.2008, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 2.10.2008

Репутация: нет
Всего: нет



Выкладываю весь проект, так лучше будет, действительно.
А для Partizan специально скажу, что из текста видно, что "this.label2.AllowDrop = true;", а вообще, спасибо за то что откликнулся. smile
Самое интересное, в MSDN дан пример со списками и там всё работает.Я пробовал с кнопками и с метками - не работает. Может где-то что-то упустил?

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  WinApp2.rar 33,24 Kb
PM MAIL   Вверх
Retro
Дата 2.10.2008, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Диалектик
***


Профиль
Группа: Участник Клуба
Сообщений: 1934
Регистрация: 28.6.2005
Где: Киев

Репутация: 3
Всего: 117



JeksonS, куда ты драгаешь и дропаешь элементы? smile 

Вот примеры, да и вообще сайт хороший:

http://www.codeproject.com/KB/cs/dandtutorial.aspx
http://www.codeproject.com/KB/dotnet/csdragndrop01.aspx
PM MAIL   Вверх
Partizan
Дата 2.10.2008, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 8
Всего: 67



вообще говоря если добавить этот код:

Цитата

        private void label2_DragEnter(object sender, DragEventArgs e)
        {
            e.Effect = DragDropEffects.Copy;
        }


то всё начинает работать)))

з.ы. к событию DragEnter этот обработчик тоже привязать неплохо бы)


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
JeksonS
Дата 2.10.2008, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 2.10.2008

Репутация: нет
Всего: нет



Огромадное спасибо Partizan!!! Вы настоящий Человечище smile.
Вообще-то, специально перечитал ещё раз MSDN, обратил внимание на DragEventArgs, но снова ничего такого не написано про свойтво
DragEventArgs.Effect. Сказано только, что оно { get; set; }, а что оно отвечает за возникновение следующего события - ничего не сказано. 
Не знаю как это назвать. Получается, что нужно установить свойство DragEventArgs.Effect перед событием DragDrop и это строго!. Но где это описано???
Возможно, это тоже частица "внутреннего тумана" платформы .NET, как написал Троелсен в своей книжке?
В любом случае, спасибо вам огромное ещё раз, теперь буду спать спокойно ... какое-то время smile.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0540 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.