Aracılığıyla paylaş


Fare olaylarını kullanmak

Ç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ış.

Fare Etkinlikleri

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 Etkinliği Açıklama
Click Bu olay, fare düğmesi serbest bırakıldığında, genellikle MouseUp olayından önce gerçekleşir. Bu olayın işleyicisi EventArgstüründe bir bağımsız değişken alır. Bir tıklamanın gerçekleştiği zamanı anlamak gerektiğinde bu olayı ele alın.
MouseClick Bu olay, kullanıcı fareyle denetime tıkladığında oluşur. Bu olayın işleyicisi MouseEventArgstüründe bir bağımsız değişken alır. Tıklama gerçekleştiğinde fare hakkında bilgi almanız gerektiğinde bu olayı ele alın.
DoubleClick Bu olay, denetime çift tıklandığında gerçekleşir. Bu olayın işleyicisi EventArgstüründe bir 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 MouseEventArgstüründe bir bağımsız değişken alır. Çift tıklama gerçekleştiğinde fareyle ilgili bilgi almanız gerekiyorsa 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 MouseEventArgstüründe bir 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 EventArgstüründe bir 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 EventArgstüründe bir bağımsız değişken alır.
MouseLeave Bu olay, denetimin türüne bağlı olarak, fare işaretçisi denetimin kenarlık veya istemci alanından ayrıldığında oluşur. Bu olayın işleyicisi EventArgstüründe bir 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 MouseEventArgstüründe bir 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 MouseEventArgstüründe bir 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 MouseEventArgstüründe bir bağımsız değişken alır. MouseEventArgs.Delta özelliğini farenin ne kadar kaydırıldığını belirlemek için kullanın.

Fare bilgileri

Fare düğmesine tıklama ve fare hareketlerini izleme ile ilgili fare olaylarının işleyicilerine bir MouseEventArgs 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 çıktığında tetiklenen çeşitli fare olayları, ek bilgi vermeden olay işleyicisine bir EventArgs mesajı gönderir.

Fare düğmelerinin geçerli durumunu veya fare işaretçisinin konumunu bilmek ve bir fare olayını işlemekten kaçınmak istiyorsanız, MouseButtons sınıfının MousePosition ve Control özelliklerini 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 Positiontarafından dö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, PointToClient sınıfında bulunan PointToScreen ve Control yöntemlerini kullanarak 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ı.

    Kontrolün stil biti StandardDoubleClick olarak ayarlanıp ayarlanmadığına true bağlı olarak değişebilir. Daha fazla bilgi için bir ControlStyles biti nasıl ayarlanır, SetStyle yöntemine 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ışı

ButtonBase sınıfından türetilen 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ı hale geçtiğinde boya yapar.

  3. MouseDown olayı tetiklenir.

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

  5. Denetim yükseltilmiş durumda boyar.

  6. Click olayı tetiklenir.

  7. MouseClick olayı tetiklenir.

  8. MouseUp olayı tetiklenir.

    Uyarı

    Kullanıcı fare düğmesi basılıyken işaretçiyi iki durumlu denetimin dışına taşıdığında (fareyi basılıyken Button denetiminin dışına hareket ettirmek gibi), iki durumlu denetim yükseltilmiş durumda görünür ve yalnızca MouseUp olayı gerçekleşir. Click veya MouseClick olayları bu durumda gerçekleşmez.

Ayrıca bakınız