Aracılığıyla paylaş


Fare olaylarını kullanma (Windows Forms .NET)

Çoğu Windows Forms programı, fare olaylarını işleyerek fare girişini işler. Bu makalede, her olayın ne zaman kullanılacağına ve her olay için sağlanan verilere ilişkin ayrıntılar da dahil olmak üzere fare olaylarına genel bir bakış sağlanır. Genel olarak olaylar hakkında daha fazla bilgi için bkz . Olaylara genel bakış (Windows Forms .NET).

Fare olayları

Fare girişine yanıt vermenin birincil yolu, fare olaylarını işlemektir. Aşağıdaki tablo fare olaylarını gösterir ve ne zaman yükseltildiklerini açıklar.

Fare Olayı Açıklama
Click Bu olay, genellikle olaydan önce MouseUp fare düğmesi serbest bırakıldığında gerçekleşir. Bu olayın işleyicisi türünde EventArgsbir bağımsız değişken alır. Yalnızca bir tıklamanın ne zaman gerçekleşeceğini belirlemeniz gerektiğinde bu olayı işleyin.
MouseClick Bu olay, kullanıcı fareyle denetime tıkladığında oluşur. Bu olayın işleyicisi türünde MouseEventArgsbir bağımsız değişken alır. Bir tıklama gerçekleştiğinde fare hakkında bilgi almanız gerektiğinde bu olayı işleyin.
DoubleClick Bu olay, denetime çift tıklandığında gerçekleşir. Bu olayın işleyicisi türünde EventArgsbir bağımsız değişken alır. Yalnızca çift tıklamanın ne zaman gerçekleşeceğini belirlemeniz gerektiğinde bu olayı işleyin.
MouseDoubleClick Bu olay, kullanıcı fareyle denetime çift tıkladığında oluşur. Bu olayın işleyicisi türünde MouseEventArgsbir bağımsız değişken alır. Çift tıklama gerçekleştiğinde fare hakkında bilgi almanız gerektiğinde bu olayı işleyin.
MouseDown Bu olay, fare işaretçisi denetimin üzerinde olduğunda ve kullanıcı fare düğmesine bastığında gerçekleşir. Bu olayın işleyicisi türünde MouseEventArgsbir bağımsız değişken alır.
MouseEnter Bu olay, denetimin türüne bağlı olarak fare işaretçisi denetimin kenarlık veya istemci alanına girdiğinde oluşur. Bu olayın işleyicisi türünde EventArgsbir bağımsız değişken alır.
MouseHover Bu olay, fare işaretçisi durdurulduğunda ve denetimin üzerinde durduğunda gerçekleşir. Bu olayın işleyicisi türünde EventArgsbir bağımsız değişken alır.
MouseLeave Bu olay, fare işaretçisi denetimin türüne bağlı olarak denetimin kenarlık veya istemci alanından ayrıldığında oluşur. Bu olayın işleyicisi türünde EventArgsbir bağımsız değişken alır.
MouseMove Bu olay, fare işaretçisi bir denetimin üzerindeyken hareket ettiğinde gerçekleşir. Bu olayın işleyicisi türünde MouseEventArgsbir bağımsız değişken alır.
MouseUp Bu olay, fare işaretçisi denetimin üzerinde olduğunda ve kullanıcı fare düğmesini serbest bıraktığında gerçekleşir. Bu olayın işleyicisi türünde MouseEventArgsbir bağımsız değişken alır.
MouseWheel Bu olay, kullanıcı fare tekerleğini döndürürken denetim odaktayken gerçekleşir. Bu olayın işleyicisi türünde MouseEventArgsbir bağımsız değişken alır. farenin Delta ne kadar kaydırıldığını belirlemek için özelliğini MouseEventArgs kullanabilirsiniz.

Fare bilgileri

bir MouseEventArgs fare düğmesine tıklama ve fare hareketlerini izleme ile ilgili fare olaylarının işleyicilerine gönderilir. MouseEventArgs fare işaretçisinin istemci koordinatlarındaki konumu, hangi fare düğmelerine basıldığı ve fare tekerleğinin kaydırılıp kaydırılmadığı gibi farenin geçerli durumu hakkında bilgi sağlar. Fare işaretçisi bir denetimin sınırlarına girdiğinde veya bıraktığında tetiklenenler gibi çeşitli fare olayları, başka bilgi olmadan olay işleyicisine bir EventArgs gönderir.

Fare düğmelerinin geçerli durumunu veya fare işaretçisinin konumunu bilmek ve fare olayını işlemekten kaçınmak istiyorsanız, sınıfın MouseButtons ve MousePosition özelliklerini Control de kullanabilirsiniz. MouseButtons , şu anda hangi fare düğmelerine basıldığı hakkında bilgi döndürür. , MousePosition fare işaretçisinin ekran koordinatlarını döndürür ve tarafından Positiondöndürülen değere eşdeğerdir.

Ekran ve İstemci Koordinatları Arasında Dönüştürme

Bazı fare konumu bilgileri istemci koordinatlarında ve bazıları ekran koordinatlarında olduğundan, bir noktayı bir koordinat sisteminden diğerine dönüştürmeniz gerekebilir. Bunu, sınıfında bulunan Control ve PointToScreen yöntemlerini kullanarak PointToClient kolayca yapabilirsiniz.

Standart Tıklama olayı davranışı

Fare tıklaması olaylarını doğru sırada işlemek istiyorsanız, Windows Forms denetimlerinde tıklama olaylarının tetiklenme sırasını bilmeniz gerekir. Tüm Windows Forms denetimleri, tek tek denetimler için aşağıdaki listede belirtilen durumlar dışında, desteklenen herhangi bir fare düğmesine basıldığında ve serbest bırakıldığında tıklama olaylarını aynı sırada oluşturur. Aşağıdaki listede, tek bir fare düğmesi tıklaması için tetiklenen olayların sırası gösterilmektedir:

  1. MouseDown olay.
  2. Click olay.
  3. MouseClick olay.
  4. MouseUp olay.

Çift fare düğmesi tıklaması için tetiklenen olayların sırası aşağıdadır:

  1. MouseDown olay.

  2. Click olay.

  3. MouseClick olay.

  4. MouseUp olay.

  5. MouseDown olay.

  6. DoubleClick olay.

    Bu, söz konusu denetimin stil bitinin olarak ayarlanıp ayarlanmadığına StandardDoubleClick truebağlı olarak değişebilir. Bit ayarlama ControlStyles hakkında daha fazla bilgi için yöntemine SetStyle bakın.

  7. MouseDoubleClick olay.

  8. MouseUp olay.

Tek tek denetimler

Aşağıdaki denetimler, standart fare tıklama olayı davranışına uymaz:

Geçiş denetimlerinin boyama davranışı

Sınıftan türetilen ButtonBase denetimler gibi geçiş denetimleri, fare tıklama olaylarıyla birlikte aşağıdaki ayırt edici boyama davranışına sahiptir:

  1. Kullanıcı fare düğmesine basar.

  2. Denetim, basılı durumda boyanıyor.

  3. Olay MouseDown oluşturulur.

  4. Kullanıcı fare düğmesini serbest bırakır.

  5. Denetim yükseltilmiş durumda boyar.

  6. Olay Click oluşturulur.

  7. Olay MouseClick oluşturulur.

  8. Olay MouseUp oluşturulur.

    Not

    Kullanıcı fare düğmesi kapalıyken işaretçiyi iki durumlu denetimin dışına taşırsa (fareyi basılıyken denetimin Button dışına taşımak gibi), iki durumlu düğme denetimi yükseltilmiş durumda boyanır MouseUp ve yalnızca olay gerçekleşir. Click veya MouseClick olayları bu durumda gerçekleşmez.

Ayrıca bkz.