فراخوانی رویداد کلیک دکمه در دکمه دیگر در wpf

در این پست قصد داریم فراخوانی رویداد کلیک یک Button در Button ( یا هر عنصری ) دیگری رو به شما آموزش بدهیم.

خیلی چیز ساده ای هستش . شاید بدردتون بخوره !

ببینید دوستان

به عنوان مثال ما در فرم اصلی قرار داریم و نامش هست FrmMain » عناصر فرم بصورت زیر است :

یک دکمه داریم با عنوان BtnFrm1 که می خواهیم با کلیک بر روی این گزینه « فرم 1 » را به ما نمایش دهد.

حال دوست داریم با زدن دکمه F1 روی صفحه کلید نیز دقیقاً همان عمل BtnFrm1 را انجام دهیم : یعنی با زدن کلید F1 وارد « فرم 1 » شویم.


برای این کار معمولاً بعضی از افراد برای هر کنترل دو بار کد می نویسند. ( هر دو تا کد یکی هستند. )

مثلا : برای نمایش فرم 1 هم یک کد رو برای دکمه BtnFrm1 می نویسند و هم همان کد رو برای دکمه F1 می نویسند.

برای نمایش فرم دیگر معمولاً از 2 خط کد استفاده می کنیم .

شاید شما پیش خودتون بگید که خب دو خط کد که چیزی نیست ، برای هر دو دکمه 2 خط کد رو می نویسم اما این تمام ماجرا نیست شاید بعضی از اوقات براتون پیش بیاد که بخواهید 20 خط کد رو برای هر دو دکمه بنویسید ، خب در اون موقع هم وقتتون گرفته میشه و هم اینکه کد های برنامه زیاد میشوند و خوانایی کد ها پایین میاد.


برای مثال : شما قصد دارید اطلاعات یک کاربر رو از دو روش 1 - دکمه ثبت BtnSave و 2 - دکمه Ctrl+S ذخیره کنید.

برای حل مشکل بالا ابتدا تمامی کدهای مربوط به ثبت اطلاعات رو در رویداد کلیک BtnSave می نویسیم
پس از آن وارد رویداد KeyDown فرم می شویم و بعد از نوشتن کد مربوط به دکمه Ctrl+S برای فرخوانی کد های دکمه BtnSave از تکه کد زیر استفاده می کنیم :

BtnSave_ItemClick(sender, null);

پس از اجرای برنامه مشاهده می کنیم که کلید Ctrl+S صفحه کلید همان کار مربوط به ثبت اطلاعات دکمه BtnSave روی فرم را انجام می دهد.

این کار رو میتوانید برای هر عنصری دیگری نیز انجام دهید.

موفق باشید !