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şlatıldığında yöntemini çağırır DoDragDrop . Fare olay sırasında MouseDown fare konumundan daha fazla SystemInformation.DragSize hareket ettiyse sürükleme eylemi başlatılır. 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.cur
olmasını gerektirir. İşaretlenirse UseCustomCursorsCheck
CheckBox ö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 üzere sağ ListBox
için olay işleyicisinde değerlendirilirDragOver. Bırakma işleminin ListBox
gerçekleşeceği konum da olay sırasında DragOver
belirlenir. Bırakacak veriler bir String
değilse, DragEventArgs.Effect içinde olarak None
DragDropEffectsayarlanır. Son olarak, bırakmanın durumu içinde DropLocationLabel
Labelgörüntülenir.
Sağ ListBox
için bırakacak veriler olay işleyicisinde DragDrop belirlenir ve String
değeri içinde ListBox
uygun yere eklenir. Sürükleme işlemi formun sınırlarının dışına taşınırsa, sürükle ve bırak işlemi olay işleyicisinde QueryContinueDrag 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
Olay DragLeave , kullanıcı imleci denetimin dışına sürüklediğinde veya kullanıcı geçerli sürükle ve bırak işlemini iptal ettiğinde tetikler.
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ç konumu 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 sürükle ve bırak efekti belirtilen şekilde 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 tetikler.
Fare başka bir denetime girerse, DragEnter bu denetimin değeri yükseltilir.
Fare hareket eder ancak aynı denetim içinde kalırsa olay DragOver tetikler.
Klavye veya fare düğmesi durumunda bir değişiklik olursa, QueryContinueDrag olay oluşturulur ve sürüklemeye devam etmek, verileri bırakmak veya olayın özelliğinin Action değerine göre işlemi iptal etmek isteyip istemediğinizi QueryContinueDragEventArgsbelirler.
değeri DragAction ise
Continue
DragOver, olay işleme devam etmek için oluşturulur ve uygun görsel geri bildirimin ayarlanabilmesi GiveFeedback 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şlenir, böylece fare bırakma hedefi boyunca hareket ettikçe kullanıcıya farenin konumuyla ilgili en güncel geri bildirim verilir.
değeri DragAction ise
Drop
, bırakma efekti değeri kaynağa döndürülür, böylece kaynak uygulama kaynak veriler üzerinde uygun işlemi gerçekleştirebilir; örneğin, işlem bir taşıma işlemiyse verileri kesin.değeri DragAction ise
Cancel
DragLeave, olay oluşturulur.
Olayları işleme hakkında daha fazla bilgi için bkz. Olayları İşleme ve Oluşturma.
Şunlara uygulanır
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin