شما می توانید با عضویت در انجمن پرسش و پاسخ درسمن هرگونه سوالی دارید را مطرح کنید


رویدادهای فرم- بخش اول


رویدادهای فرم- بخش اول
برای دانلود و دیدن آنلاین این درس نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

مفهوم رویداد

به هرگونه تغییرات فرم در حالت اجرا شامل تغییر اندازه، تغییر مکان، کلیک ماوس و ... روییداد گفته می‌شود. رویدادها را می‌توان به چند دسته تقسیم کرد.

  • رویدادهای مربوط به ماوس
  • رویدادهای مربوط به صفحه کلید
  • رویدادهای مربوط به باز و بسته شدن فرم
  • رویدادهای مربوط به تغییر ویژگیهای فرم
  • سایر رویدادها

رویدادهای فرم

حال در قسمت Event می‌توانیم همه رویدادهای فرم را مشاهده کنیم. اگر در مقابل هریک از این رویدادها دابل کلیک کنیم برای ما متدی ایجاد می‌کند که این متد در اثر اتفاق افتادن آن رویداد اجرا می‌شود.

MouseClick

حال قصد داریم که با کلیک کردن روی فرم، فرم تغییر کند. برای این کار ابتدا در مقابل رویداد MouseClick دابل کلیک کرده تا متد را برای ما بسازد.

private void Form1_MouseClick(object sender, MouseEventArgs e)
{

}

حال هر تغییراتی که مورد نیاز ما باشد قابل اجرا است. ما قصد تغییر رنگ فرم را داریم، برای این کار باید درون متد، این دستور را بنویسیم. شکل کلی دستور به شکل زیر است.

نام فرم . ویژگی = مقدار جدید ;

به جای نام فرم می‌توان از کلمه this به معنای همین، استفاده کرد.

private void Form1_MouseClick(object sender, MouseEventArgs e)
{
this.BackColor = Color.Red;
}

MouseDoubleClick

رویداد بعدی، رویداد MouseDoubleClick است که در هنگام دابل کلیک کردن ماوس متد خود را اجرا می‌کند.


private void Form1_MouseDoubleClick(object sender, MouseEventArgs e)
{
this.BackColor = Color.Red;
}

همان طور که مشاهده می‎کنیم درون پرانتز متد دومقدار sender و e وجود دارد که مقدار sender عنصری که رویداد بر روی آن اتفاق افتاده را مشخص می‌کند و مقدار e چیزی که موجب اتفاق افتان این رویداد بوده مانند کلیک چپ یا راست ماوس را مشخص می‌کند.

حال قصد داریم که با کلیک چپ روی فرم رنگ فرم قرمز و با کلیک راست رنگ فرم آبی شود. برای این کار درون متد MouseClick شرط قرار می‌دهیم که اگر e با کلیک چپ ماوس پر شده است رنگ فرم قرمز و اگر با کلیک راست ماوس پر شده رنگ فرم آبی شود.

private void Form1_MouseClick(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left)
    {
        this.BackColor = Color.Red; //قرمز
    }
    else
    {
        this.BackColor = Color.Blue;  //آبی
    }
}

MouseDown

هنگامی که کلید ماوس فشار داده شود رویداد MouseDown اتفاق می‌افتد.

 

MouseUp

هنگامی که کلید ماوس رها شود و بالا بیاید رویداد MouseUp اتفاق می‌افتد.

 

MouseEnter

اگر رویداد MouseEnter را برای هر عنصر فعال کنیم موجب می‌شود که هربار ماوس روی آن عنصر برود آن رویداد اتفاق بیافتد. حال می‌خاهیم زمانی که ماوس وارد فرم شد، مکان فرم به صورت تصادفی تغییر کند.  ویژگی Top فاصله فرم را از بالای صفحه و ویژگی Left فاصله فرم را از سمت چپ صفحه مشخص می‌کند.

private void Form1_MouseEnter(object sender, EventArgs e)
{
    Random r = new Random(); //تصادفی عدد
    int x, y;
    x = r.Next(0, 501);
    y = r.Next(0, 501);
    this.Top = y; //بالا از فاصله
    this.Left = x; //چپ از فاصله
}

MouseLeave

اگر رویداد MouseLeave فعال باشد هر گاه ماوس عنصر را ترک کند ان رویداد اتفاق می‌افتد. حال می‌خواهیم هرگاه ماوس فرم را ترک کرد برنامه پایان یابد.

private void Form1_MouseLeave(object sender, EventArgs e)
{
    Application.Exit(); //برنامه از خروج
}

MouseMove

اگر برای یک عنصر رویداد MouseMove را فعال کنیم، هنگامی که ماوس روی آن عنصر حرکت کند این رویداد اجرا می‌شود. حال ما قصد داریم که با حرکت ماوس روی فرم رنگ فرم به صورت تصادفی تغییر کند. متد FromArgb از کلاس Color موجب دریافت کد رنگ از ما به صورت مد AGB می‌شود که هر یک عددی بین 0 تا 255 هستند.

private void Form1_MouseMove(object sender, MouseEventArgs e)
{
    Random random = new Random(); //تصادفی عدد
    int r, g, b;
    r = random.Next(0, 256);
    g = random.Next(0, 256);
    b = random.Next(0, 256);
    this.BackColor = Color.FromArgb(r,g,b); // رنگ تغییر
}

MouseHover

اگر رویداد MouseHover برای یک عنصر فعال باشد، هرگاه ماوس روی آن عنصر بایستد این رویداد اجرا می‌شود. حال ما قصد داریم که اگر ماوس روی فرم ایستاد رنگ فرم مشکی شود.

private void Form1_MouseHover(object sender, EventArgs e)
{
    this.BackColor = Color.Black; //مشکی رنگ
}

Click و DoubleClick

تفاوت رویدادهای Click و DoubleClick با رویدادهای MouseClick و MouseDoubleClick این است که در رویداد های MouseClick و MouseDoubleClick تنها زمانی که ماوس روی عنصری کلیک کند متد اجرا می‌شود اما در رویدادهای Click و DoubleClick هر شیء ورودی که قابلیت کلیک داشته باشد روی عنصر کلیک کند متد اجرا می‌شود.

 

امید واریم که این آموزش برای شما مفید واقع شده باشد. در قسمت بعد قصد داریم که در کنار شما عزیزان با دیگر رویداد‌های مهم فرم آشنا شویم. لطفاً با ما همراه باشید...


برچسب ها :

mouseclick mouseenter ousemove رویدادهای فرم برنامه نویسی رویداد گرا با سی شارپ رویداد ماوس کلیک در سی شارپ

نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد .
برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.
23 جلسه برای دوره آموزش ویندوز فرم سی شارپ-مقدماتی

درس 1
مفاهیم ویندوز فرم و ساخت اولین برنامه
15 دقیقه / رایگان

درس 2
ویژگیهای فرم و تغییر آنها
20 دقیقه / رایگان

درس 3
رویدادهای فرم- بخش اول
26 دقیقه / رایگان

درس 4
رویدادهای فرم-بخش دوم
20 دقیقه / رایگان

درس 5
کنترل لیبل (Lable) و ویژگیهای آن
14 دقیقه / رایگان

درس 6
رویدادهای لیبل(Lable)
19 دقیقه / رایگان

درس 7
ساخت بازی دوز
35 دقیقه / رایگان

درس 8
کنترل دکمه(Button)
14 دقیقه / رایگان

درس 9
کنترل کادر متن(TextBox)
33 دقیقه / رایگان

درس 10
ساخت ماشین حساب
30 دقیقه / رایگان

درس 11
ساخت منو
22 دقیقه / رایگان

درس 14
کار با فایلهای متنی
21 دقیقه / رایگان

درس 15
ساخت برنامه ویرایشگر فارسی-بخش اول
23 دقیقه / رایگان

درس 16
ساخت برنامه ویرایشگر فارسی-بخش دوم
39 دقیقه / رایگان

درس 17
دکمه های رادیویی-RadioButton
17 دقیقه / رایگان

درس 18
کنترل کامبوباکس-combobox
35 دقیقه / رایگان

درس 19
اضافه کردن کلاس جدید به پروژه
7 دقیقه / رایگان

درس 21
ساخت نرم افزار رمزنگار متن-بخش اول
36 دقیقه / رایگان

درس 22
ساخت نرم افزار رمزنگار متن-بخش دوم
53 دقیقه / رایگان

درس 23
ارتباط با پایگاه داده
16 دقیقه / رایگان

درس 24
درج داده در پایگاه داده
17 دقیقه / رایگان

درس 25
حذف داده از پایگاه داده
10 دقیقه / رایگان

درس 26
واکشی داده از دیتابیس
16 دقیقه / رایگان

دوره آموزش ویندوز فرم سی شارپ-مقدماتی


تعداد جلسات 26 جلسه
مدت زمان 538 دقیقه
سطح مهارت مقدماتی
زبان فارسی
دانشجو 45 دانشجو
گواهی نامه ندارد
قیمت دوره : 0 تومان
درحال برگزاری
مهدی احمدی
مهدی احمدی

درباره مدرس :

از سال 1380 برنامه نویسی را شروع کرده و از سال 90 در این زمینه تدریس میکنم .با زبانهای سی پلاس پلاس ، سی ،پاسکال ،VB ، سی شارپ ،اسمبلی، جاوا و .... کار کرده و آنها را تدریس کرده ام.هم اکنون نیز مشغول تدریس در دانشگاه هستم و مدتی است با سایت درسمن همکاری میکنم