کنترل Command
این شی برخلاف کنترل هایی که تا الان آنها رو معرفی کردیم ، یک کنترل غیر بصری است که به سینی اجزا اضافه می شود.کنترل Command همانند یک جعبه می باشد که توانایی نگهداری مجموعه ای از دستورات را درون خود دارد و با صدا زدن کنترل Command ، این جعبه باز شده و دستورات درون آن اجرا می شوند.
این کنترل سبب می شود که از تعریف بسیاری از دستورات تکراری عمومی پرهیز شود و فقط با صدا زدن این کنترل دستورات درون آن اجراشود.
متد ها
برای اینکه بتونید با این کنترل کار کنید مجبورم تعدادی از متد ها و رویداد های آن را براتون شرح بدم.
متد Execute : به وسیله ی این متد کنترل Command صدا زده شده و اجرا می شود.
رویداد ها
Executed : میشه گفت این رویداد مهمترین رویداد کنترل Command می باشد و زمانی که متد Execute اجرا میشود رخ می دهد و مجموعه دستورات درونش اجرا می شوند.
Preview Executed : این رویداد قبل از رویداد Executed رخ می دهد و دستورات درونش را اجرا می کند.
خاصیت ها
دو خاصیت خیلی مهم در شی command : Command و CommandParameter می باشند. با اضافه کردن کنترل Command به فرم دو خصوصیت Command و CommandParameter به کنترل های Dev موجود در فرم اضافه می شود.
Command : به وسیله ی این خصوصیت میتوانید کنترل Command را به کنترل های Dev نسبت دهید.
در کد نویسی به طریقه ی زیر می توانید عمل کنید.
Buttonx1.Command = Command1
Command Parameter : به وسیله ی این خصوصیت می توانید یک پارامتر را به کنترل command فرستاده و در هنگام اجرای دستورات از آن استفاده کنید. در مثال زیر می خواهیم
با استفاده از شی Command دستورات Maximize و Minimize مربوط به فرم را پیاده سازی کنیم. ابتدا دو ButtonX را بر روی فرم قرار دهید و خصوصیت Text آنها رو به Maximize و Minimize تغییر دهید.
و سپس مطابق شکل بالا دو شی Command را به فرم اضافه کنید . بر روی Command1 دابل کلیک کرده و طبق شکل زیر درون رویداد Executed کد را وارد نمایید.
private void command1_Executed(object sender, EventArgs e) { this.WindowState = FormWindowState.Minimized; }
سپس بر روی Command2 دابل کلیک کرده و طبق شکل کد را در رویداد Executed وارد نمایید.
private void command2_Executed(object sender, EventArgs e) { this.WindowState = FormWindowState.Maximized; }
در مرحله بعد بر روی دکمه ی Maximize دابل کلیک کرده و کد زیر رو در رویداد کلیک بنویسید .
private void buttonX2_Click(object sender, EventArgs e) { command2.Execute(); }
با این دستور قطعه کد درون Command2 اجرا می شود. سپس بر روی دکمه ی Minimize دابل کلیک کرده و کد زیر رو در رویداد کلیک آن بنویسید.
private void buttonX1_Click(object sender, EventArgs e) { command1.Execute(); }
حال برنامه را اجرا و نتیجه را با کلیک بر روی دکمه ها مشاهده کنید.
عالی بود مهندس ممنون از زحماتتون
خواهش می کنم ، سایتمون رو به دوستاتون معرفی کنید