View Full Version : مبتدی: معادل دستور SendKeys در WPF
mgh64120
جمعه 06 دی 1392, 22:53 عصر
سلام دوستان :
معادل دستور زير در WPF چيه؟
System.Windows.Forms.SendKeys.Send("{Home}+{End}")
باتشكر. بدرود...
امید خطیبی
شنبه 07 دی 1392, 08:31 صبح
با سلام خدمت دوست عزیز و گرامی
برای استفاده از کدی که نوشته بودید داخل WPF شما باید کدی را که در زیر می بینید باید داخل یک کلاس به نام Command بگذارید
و بعد از آن با استفاده از CommandBinding ها در Window و یا هر کلید یا هر جایی که می خواهید از آن کلید های ترکیبی استفاده کنید یک خاصیت به نام Command داره که می تونین ازش استفاده کنید.
این هم نمونه کدی که برای بستن window می باشد.
InputGestureCollection InputC = new InputGestureCollection();
InputC.Add(new KeyGesture(Key.F4,ModifierKeys.Alt,"ALT + F4"));
_Close=new RoutedUICommand("","Close",typeof(Command),InputC);
مثلا من اون کدی رو که بالا نوشته ام رو در کلاس Command می نویسم و العان می خواهم در Window اگر من این کلید هایی که بالا برای Close نوشته ام زدم ویندوز من بسته شود.
<Window.CommandBindings>
<CommandBinding Command="ClassDomain:Command.Close" Executed="CommandBinding_Executed" CanExecute="CommandBinding_CanExecute"/>
</Window.CommandBindings>
شما از این کد بالا داخل تگ Window قبل از هر تگ دیگری استفاده می کنید و برای Executed کامند خود دستورات لازمی را که می خواهید آن کامندی را که فشار داده اید انجام دهد را می نویسید
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
البته یک نکته را باید ذکر کنم برای دستور() Close
این دستور را اگر شما بخواهید با استفاده از this بنویسید و از آن استفاده کنید به دردتان می خورد.
ولی حالا شما می خواهید با استفاده از یک ویندوز دیگر کل برنامه را ببندید و MainWindow شما خاصیت AllowsTransparency را تیک زده باشید آیا می توانید با استفاده از این کار ویندوز را ببندید
MainWindow M1 = new MainWindow()
M1.Close()
باید بگم که خیر این کار صورت نمی گیره و برنامه Close نمی شود
برای این کار باید چی کار کرد.
داخل Executed، کامندی که نوشته اید این را بنویسید درست می شود و هر چه فرم باز هم در برنامه داشته باشید بسته می شود و کل برنامه بسته می شود
Application.Current.Shutdown();
موفق باشید دوستان
mgh64120
شنبه 07 دی 1392, 21:32 عصر
سلام دوست عزيز .مرسي از اينكه وقتتون رو در اختيار من قرار دادي... :لبخندساده: :خجالت:
من فقط ميخوام در محيط WPF و با زبان VB معادل دستور SenkKeys رو انجام بدم بدين صورت كه وقتي فوكوس به يه تكست باكس ميرسه(رويداد GotFocus) كل متن اون رو مارك(Mark) كنه.
من ميخوام توي محيط VB اين كار رو انجام بدم نه Xaml.
با تشكر فراوان
بدرود...
Boy_nn
یک شنبه 08 دی 1392, 08:32 صبح
این خط دستوری رو توی event GotFocus بنویس
var textbox = (TextBox) sender;
textbox.SelectAll();
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.