Fare işaretçilerini yönetme

Fare işaretçisi, bazen imleç olarak da adlandırılan, fareyle kullanıcı girişi için ekranda bir odak noktası belirten bir bit eşlemdir. Bu makalede, Windows Forms'daki fare işaretçisine genel bir bakış sağlanır ve fare işaretçisini değiştirmenin ve denetlemenin bazı yolları açıklanmaktadır.

Fare işaretçisine erişme

Fare işaretçisi, Cursor sınıfı tarafından temsil edilir ve her Control, o denetim için işaretçiyi belirleyen bir Control.Cursor özelliğine sahiptir. Cursor sınıfı, Position ve HotSpot özellikleri gibi işaretçiyi açıklayan özellikler ve Show, Hideve DrawStretched yöntemleri gibi işaretçinin görünümünü değiştirebilen yöntemler içerir.

Aşağıdaki örnek, imleç bir düğmenin üzerindeyken imleci gizler:

private void button1_MouseEnter(object sender, EventArgs e) =>
    Cursor.Hide();

private void button1_MouseLeave(object sender, EventArgs e) =>
    Cursor.Show();
Private Sub Button1_MouseEnter(sender As Object, e As EventArgs) Handles Button1.MouseEnter
    Cursor.Hide()
End Sub

Private Sub Button1_MouseLeave(sender As Object, e As EventArgs) Handles Button1.MouseLeave
    Cursor.Show()
End Sub

Fare işaretçisini denetleme

Bazen farenin konumunu değiştirmek veya fare işaretçisini belirli bir alanla kısıtlamak isteyebilirsiniz. özelliğini kullanarak Cursor.Position farenin geçerli konumunu alabilir veya ayarlayabilirsiniz. Ayrıca, özelliğini ayarlayarak Clip fare işaretçisinin kullanabileceği alanı sınırlayabilirsiniz. Klip alanı varsayılan olarak ekranın tamamıdır.

Aşağıdaki örnek, tıklandığında fare işaretçisini iki düğme arasında konumlandırılır:

private void button1_Click(object sender, EventArgs e) =>
    Cursor.Position = PointToScreen(button2.Location);

private void button2_Click(object sender, EventArgs e) =>
    Cursor.Position = PointToScreen(button1.Location);
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    PointToScreen(Button2.Location)
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    PointToScreen(Button1.Location)
End Sub

Fare işaretçisini değiştirme

Fare işaretçisini değiştirmek, kullanıcıya geri bildirim sağlamanın önemli bir yoludur. Örneğin, kullanıcıya hesaplamaların gerçekleştiğini göstermek ve denetimdeki kullanıcı etkileşimini sınırlamak için fare işaretçisi MouseEnter ve MouseLeave olaylarının işleyicilerinde değiştirilebilir. Bazen, uygulamanızın sürükle ve bırak işlemine dahil olması gibi sistem olayları nedeniyle fare işaretçisi değişir.

Fare işaretçisini değiştirmenin birincil yolu, denetimin Control.Cursor veya DefaultCursor özelliğini yeni bir Cursorolarak ayarlamaktır. Fare işaretçisini değiştirme örnekleri için Cursor sınıfındaki kod örneğine bakın. Ek olarak, Cursors sınıfı, el benzeri bir işaretçi gibi birçok farklı işaretçi türü için bir dizi Cursor nesnesi sunar.

Aşağıdaki örnek, bir düğmenin fare işaretçisinin imlecini el olarak değiştirir:

button2.Cursor = System.Windows.Forms.Cursors.Hand;
Button2.Cursor = System.Windows.Forms.Cursors.Hand

Bir saat saatine benzeyen bekleme işaretçisini görüntülemek için, fare işaretçisi denetim üzerinde olduğunda UseWaitCursor sınıfının Control özelliğini kullanın.

Ayrıca bakınız