Control.DragLeave Olay
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir nesne denetimin sınırları dışına sürüklendiğinde gerçekleşir.
public:
event EventHandler ^ DragLeave;
public event EventHandler DragLeave;
public event EventHandler? DragLeave;
member this.DragLeave : EventHandler
Public Custom Event DragLeave As EventHandler
Olay Türü
Örnekler
Aşağıdaki kod örneği, iki ListBox denetim arasındaki sürükle ve bırak işlemini gösterir. Örnek, sürükleme eylemi başladığında yöntemini çağırır DoDragDrop . Sürükleme eylemi, fare olay sırasında MouseDown fare konumundan daha fazla SystemInformation.DragSize hareket ettiyse başlar.
IndexFromPoint yöntemi, olay sırasında sürüklenecek öğenin dizinini MouseDown belirlemek için kullanılır.
Örnekte, sürükle ve bırak işlemi için özel imleçlerin kullanılması da gösterilmektedir. Örnek, 3dwarro.cur özel sürükleme ve bırakmama imleçleri için uygulama dizininde sırasıyla iki imleç dosyası ve 3dwno.curvar olmasını gerektirir. İşaretlenirse UseCustomCursorsCheckCheckBox özel imleçler kullanılır. Özel imleçler olay işleyicisinde GiveFeedback ayarlanır.
Klavye durumu, shift, CTRL, ALT veya CTRL+ALT tuşlarının durumuna bağlı olarak sürükleme işleminin ne olacağını belirlemek için sağ ListBoxiçin olay işleyicisinde değerlendirilirDragOver. Bırakmanın ListBox gerçekleşeceği konum da olay sırasında DragOver belirlenir. Bırakacak veriler bir Stringdeğilse, DragEventArgs.Effect içinde olarak NoneDragDropEffectsayarlanır. Son olarak, bırakmanın durumu içinde DropLocationLabelLabelgörüntülenir.
Sağ ListBox için bırakacak veriler olay işleyicisinde DragDrop belirlenir ve String değeri içinde ListBoxuygun yere eklenir. Sürükleme işlemi formun sınırlarının dışına taşınırsa, olay işleyicisinde QueryContinueDrag sürükle ve bırak işlemi iptal edilir.
Bu kod alıntısı, olayı kullanmayı DragLeave gösterir. DoDragDrop Tam kod örneği için yöntemine bakın.
void ListDragTarget_DragLeave( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
// Reset the label text.
DropLocationLabel->Text = "None";
}
private void ListDragTarget_DragLeave(object sender, EventArgs e)
{
// Reset the label text.
DropLocationLabel.Text = "None";
}
Private Sub ListDragTarget_DragLeave(ByVal sender As Object, ByVal e As EventArgs) Handles ListDragTarget.DragLeave
' Reset the label text.
DropLocationLabel.Text = "None"
End Sub
Açıklamalar
Kullanıcı DragLeave imleci denetimin dışına sürüklediğinde veya kullanıcı geçerli sürükle ve bırak işlemini iptal ettiğinde olay tetikleniyor.
Aşağıda, sürükle ve bırak işlemleriyle ilgili olayların nasıl ve ne zaman tetiklediği açıklanmaktadır.
yöntemi, DoDragDrop geçerli imleç konumunun altındaki denetimi belirler. Ardından denetimin geçerli bir bırakma hedefi olup olmadığını denetler.
Denetim geçerli bir bırakma hedefiyse, GiveFeedback olay belirtilen sürükle ve bırak efektiyle oluşturulur. Sürükle ve bırak efektlerinin listesi için numaralandırmaya DragDropEffects bakın.
Fare imleci konumu, klavye durumu ve fare düğmesi durumundaki değişiklikler izlenir.
Kullanıcı bir pencereden dışarı taşınırsa, DragLeave olay oluşturulur.
Fare başka bir denetime girerse, DragEnter bu denetimin değeri oluşturulur.
Fare hareket eder ancak aynı denetim içinde kalırsa, DragOver olay tetikler.
Klavye veya fare düğmesi durumunda bir değişiklik varsa, QueryContinueDrag olay oluşturulur ve sürüklemeye devam etmek, verileri bırakmak veya olayın QueryContinueDragEventArgsözelliğinin Action değerine göre işlemi iptal etmek için belirlenir.
değeri DragAction ise
ContinueDragOver, olay işleme devam etmek için oluşturulur ve GiveFeedback uygun görsel geri bildirimin ayarlanabilmesi için olay yeni etkiyle oluşturulur. Geçerli bırakma efektlerinin listesi için numaralandırmaya DragDropEffects bakın.Not
DragOver ve GiveFeedback olayları eşleştirilir, böylece fare bırakma hedefi boyunca hareket ettikçe kullanıcıya farenin konumuyla ilgili en up-totarih geri bildirimi verilir.
değeri DragAction ise
Drop, bırakma efekti değeri kaynağa döndürülür, böylece kaynak uygulama kaynak verilerde uygun işlemi gerçekleştirebilir; örneğin, işlem bir taşıma işlemiyse verileri kesin.değeri DragAction ise
CancelDragLeave, olay oluşturulur.
Olayları işleme hakkında daha fazla bilgi için bkz . Olayları İşleme ve Oluşturma.