Windows Forms'ta Fare Girdisi Nasıl Çalışır

Fare girişinin alınması ve işlenmesi her Windows uygulamasının önemli bir parçasıdır. Uygulamanızda bir eylem gerçekleştirmek için fare olaylarını işleyebilir veya isabet testi veya diğer eylemleri gerçekleştirmek için fare konumu bilgilerini kullanabilirsiniz. Ayrıca, uygulamanızdaki denetimlerin fare girişini işleme biçimini değiştirebilirsiniz. Bu konu başlığında, bu fare olayları ayrıntılı olarak açıklanır ve fare için sistem ayarlarının nasıl alınıp değiştireceği açıklanır. Fare olaylarıyla sağlanan veriler ve fare tıklama olaylarının tetiklenmesi sırası hakkında daha fazla bilgi için bkz . Windows Forms'da Fare Olayları.

Fare Konumu ve İsabet Testi

Kullanıcı fareyi hareket ettiğinde, işletim sistemi fare işaretçisini hareket eder. Fare işaretçisi, işletim sisteminin izlediği ve işaretçinin konumu olarak tanıdığı etkin nokta olarak adlandırılan tek bir piksel içerir. Kullanıcı fareyi hareket ettiğinde veya fare düğmesine bastığında Control , öğesini içeren HotSpot uygun fare olayını tetikler. Bir fare olayını işlerken veya sınıfının özelliğini MouseEventArgsCursor kullanarak Position geçerli fare konumunu özelliğiyle Location elde edebilirsiniz. Daha sonra fare konumu bilgilerini kullanarak isabet testi gerçekleştirebilir ve ardından farenin konumuna göre bir eylem gerçekleştirebilirsiniz. İsabet testi özelliği, Windows Forms'da , TreeViewMonthCalendar ve DataGridView denetimleri gibi çeşitli denetimlerde yerleşik olarak ListViewbulunur. Uygun fare olayıyla kullanıldığında, MouseHover örneğin, isabet testi uygulamanızın belirli bir eylemi ne zaman gerçekleştirmesi gerektiğini belirlemek için çok yararlıdır.

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 tetiklediklerini açıklar.

Fare Olayı Tanım
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 Girişini Değiştirme ve Sistem Ayarlar Algılama

Denetimden türeterek ve ve SetStyle yöntemlerini kullanarak GetStyle bir denetimin fare girişini işleme biçimini algılayabilir ve değiştirebilirsiniz. yöntemi, SetStyle denetimin ControlStyles standart tıklama veya çift tıklama davranışına sahip olup olmayacağını ya da denetimin kendi fare işlemesini işleyip işlemeyeceğini belirlemek için değerlerin bit düzeyinde bir bileşimini alır. Buna ek olarak, sınıfı farenin SystemInformation özelliklerini açıklayan ve farenin işletim sistemiyle nasıl etkileşim kuracağını belirten özellikler içerir. Aşağıdaki tabloda bu özellikler özetlemektedir.

Özellik Tanım
DoubleClickSize İşletim sisteminin iki tıklamayı çift tıklama olarak düşünebilmesi için kullanıcının iki kez tıklaması gereken alanın boyutlarını piksel cinsinden alır.
DoubleClickTime İşletim sisteminin fare eylemini çift tıklama olarak değerlendirmesi için ilk tıklama ile ikinci tıklama arasında geçen milisaniye sayısı üst sınırını alır.
MouseButtons Faredeki düğme sayısını alır.
MouseButtonsSwapped Sol ve sağ fare düğmelerinin işlevlerinin değiştirilip değiştirilmediğini gösteren bir değer alır.
MouseHoverSize Fare işaretçisinin, fare üzerine gelme iletisi oluşturulmadan önce farenin üzerine gelme süresi boyunca kalması gereken dikdörtgenin boyutlarını piksel cinsinden alır.
MouseHoverTime Fare işaretçisinin fare vurgulama iletisi oluşturulmadan önce fare işaretçisinin vurgulama dikdörtgeninde kalması gereken süreyi milisaniye cinsinden alır.
MousePresent Farenin yüklü olup olmadığını gösteren bir değer alır.
MouseSpeed 1 ile 20 arasından geçerli fare hızını gösteren bir değer alır.
MouseWheelPresent Fare tekerleği olan bir farenin yüklü olup olmadığını gösteren bir değer alır.
MouseWheelScrollDelta Tek bir fare tekerleği döndürmesinin artışının delta değerinin miktarını alır.
MouseWheelScrollLines Fare tekerleği döndürüldüğünde kaydıracak satır sayısını alır.

Ayrıca bkz.