Koray Kırdinli

Yazılım ve İş Yaşamı Hakkında Paylaşımlar

Kod ile istenilen kontrole event fırlatmak.

Bu örnekte koddan manuel event fırlatma ihtiyacınız olduğunda kullanabileceğiniz küçük bir metod paylaşıyorum. Aşağıdaki örnekte textbox’a sanki 1 tuşana basılmış gibi bir event fırlatıyoruz. Bu metod ile Keyboard nesnesi üzerindeki istediğimiz herhangi bir eventi fırlatabiliriz. Umarım bir yerlerde işinize yarar.

//Event Çağrılıyor.
currentTextbox.RaiseManuelEvent("1", Keyboard.KeyDownEvent);

public void RaiseManuelEvent(string charToSend, RoutedEvent routedEvent)
{
var key = GetKey(charToSend);   // Key to send
var target = XText;    // Target element
//var routedEvent = Keyboard.KeyDownEvent; // Event to send

target.RaiseEvent(
new KeyEventArgs(
Keyboard.PrimaryDevice,
PresentationSource.FromVisual(target),
0,
key) { RoutedEvent = routedEvent }
);
}

//Stringden Key değerini bulan metod.
private Key GetKey(string value)
{
KeyConverter k = new KeyConverter();
Key key = (Key)k.ConvertFromString(value);
return key;
}
Reklamlar

Eylül 9, 2013 - Posted by | C# | , ,

Henüz yorum yapılmamış.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s