Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ç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:
- MouseDown olayı.
- Click olayı.
- MouseClick olayı.
- MouseUp olayı.
Çift fare düğmesi tıklaması için tetiklenen olayların sırası aşağıdadır:
MouseDown olayı.
Click olayı.
MouseClick olayı.
MouseUp olayı.
MouseDown olayı.
DoubleClick olayı.
Kontrolün stil biti StandardDoubleClick olarak ayarlanıp ayarlanmadığına
truebağlı olarak değişebilir. Daha fazla bilgi için bir ControlStyles biti nasıl ayarlanır, SetStyle yöntemine bakın.MouseDoubleClick olayı.
MouseUp olayı.
Tek tek denetimler
Aşağıdaki denetimler, standart fare tıklama olayı davranışına uymaz:
-
Uyarı
ComboBox denetimi için, daha sonra kullanıcı düzenleme alanına, düğmeye veya listedeki bir öğeye tıklarsa ayrıntılı olay davranışı gerçekleşir.
- Sol tıklama: Click, MouseClick
- Sağ tıklama: Hiçbir tıklama olayı tetiklenmiş değil
- Sol çift tıklayın: Click, MouseClick; Click, MouseClick
- Sağ çift tıklama: Hiçbir tıklama olayı tetiklenmiş değil
TextBox, RichTextBox, ListBox, MaskedTextBoxve CheckedListBox denetimleri
Uyarı
Ayrıntılı olay davranışı daha sonra kullanıcı bu denetimlerin içinde herhangi bir yere tıkladığında gerçekleşir.
- Sol tıklama: Click, MouseClick
- Sağ tıklama: Hiçbir tıklama olayı tetiklenmiş değil
- Sol çift tıklama: Click, MouseClick, DoubleClick, MouseDoubleClick
- Sağ çift tıklama: Hiçbir tıklama olayı tetiklenmiş değil
ListView denetimi
Uyarı
Daha sonra ayrıntılandırılan olay davranışı yalnızca kullanıcı ListView denetimindeki öğelere tıkladığında gerçekleşir. Denetimde başka herhangi bir yere tıklama için hiçbir olay tetiklenmez. Daha sonra açıklanan olaylara ek olarak, denetimle BeforeLabelEdit doğrulamayı kullanmak istiyorsanız ilginizi çekebilecek AfterLabelEdit ve ListView olayları da vardır.
- Sol tıklama: Click, MouseClick
- Sağ tıklayın: Click, MouseClick
- Sol çift tıklayın: Click, MouseClick; DoubleClick, MouseDoubleClick
- Sağ çift tıklayın: Click, MouseClick; DoubleClick, MouseDoubleClick
TreeView denetimi
Uyarı
Daha sonra ayrıntılandırılan olay davranışı, yalnızca kullanıcı öğelerin kendisinde veya TreeView denetimindeki öğelerin sağında tıkladığında gerçekleşir. Denetimde başka herhangi bir yere tıklama için hiçbir olay tetiklenmez. Daha sonra açıklananlara ek olarak, BeforeCheck denetimiyle doğrulama kullanmak istiyorsanız ilginizi çekebilecek BeforeSelect, BeforeLabelEdit, AfterSelect, AfterCheck, AfterLabelEditve TreeView olayları da vardır.
- Sol tıklama: Click, MouseClick
- Sağ tıklayın: Click, MouseClick
- Sol çift tıklayın: Click, MouseClick; DoubleClick, MouseDoubleClick
- Sağ çift tıklayın: Click, MouseClick; DoubleClick, MouseDoubleClick
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:
Kullanıcı fare düğmesine basar.
Denetim, basılı hale geçtiğinde boya yapar.
MouseDown olayı tetiklenir.
Kullanıcı fare düğmesini serbest bırakır.
Denetim yükseltilmiş durumda boyar.
Click olayı tetiklenir.
MouseClick olayı tetiklenir.
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
.NET Desktop feedback