نمایش نتایج 121 تا 160 از 1081

نام تاپیک: نمونه برنامه های کوچک و مفيد در سي شارپ

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #8
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727

    نقل قول: نمونه برنامه های کوچک و مفيد در سي شارپ

    بعضی اوقات، کاربر زمانی که میخواد فرم اطلاعات رو ببنده، شما میخواهید به کاربر هشدار بدید که اگر اطلاعات رو تغییر داده، اون رو دخیره کنه وگرنه تغییرات از بین خواهد رفت، این موضوع راه حل خوبی برای هشدار به کاربر برای ذخیره ی تغییراته، اما زمانی که کابر هیچ تغییری رو در فرم اطلاعات انجام نداده و فقط قصد مرور داشته (که اغلب موارد هم همینطوره)، این عمل باعث خستگی کاربر میشه چون هربار که میخواد فرم رو باز کنه و ببنده باید این پیغام ها رو OK کنه، برای جلوگیری از این موضوع، شما نیاز به این دارید که وقتی کاربر میخواد فرم رو ببنده بررسی کنید که آیا محتویات فرم تغییر کرده یا نه، اگر تغییر کرده بود پیغامی به کاربر نشون داده بشه مبنی بر ذخیره ی تغییرات، در غیر این صورت پیغام هشدار رو نشون کاربر نده.
    برنامه ی زیر شامل کلاسی هست به نام FormEx که شما باید تمام فرمهای برنامه تون رو از اون ارث بری کنید، سپس به لیست رویداد های فرم شما رویدادی به نام ControlVlaueChanged اضافه میشه و زمانی این رویداد اتفاق میفته که مقادیر کنترلهای داخل فرم تغییر کنه (میتونید اونو Handle کنید).
    همینطور فرم شما دارای یک Property اضافی میشه به نام IsFormContentsChanged و همانطور که از اسمش پیداست، بررسی میکنه که آیا محتویات فرم (که همون مقادیر کنترلها هستند) تغییر کرده یا نه، شما میتونید این Property رو قبل از بسته شدن فرم بررسی کنید و سپس عملیات مورد نظرتون رو اجرا کنید.
    در فایل زیر پروژه ی WindowsApplication10 یک نمونه مثال از بکارگیری کلاس FormEx میباشد.
    شما فقط کافیه FormExtension.dll رو به لیست reference های پروژه تون اضافه کنید و سپس تمام فرمهاتون رو از کلاس FormEx مشتق کنید.

    نکته : برای بررسی تغییرات محتویات کنترلهای روی فرم، نیازمند این هستیم که property های عمومی کنترلهای رو بررسی کنیم (در واقع رویدادهایی که تغییرات Property ها رو handle میکنه )، مثلا برای کنترل TextBox ما باید رویداد TextChanged رو بررسی کنیم یا برای کنترل ComboBox باستی رویداد SelectedIndexChanged رو بررسی کنیم و همینطور الی آخر ...
    برای اطلاعات بیشتر به متد AddCheckedMethodToControlsEventHandler واقع در کلاس FormEx در پروژه ی FormExtension مراجعه کنید و ببینید که برای هر کنترل، چه رویدادهایی بررسی میشه، در حقیقت کلاس FormEx با handle کردن این رویدادها پی به تغییرات انجام شده در کنترلهای داخلی خودش میبره.
    در صورت نیاز میتونید رویدادهای دیگه رو به روش مشابه handle کنید.
    موفق باشید - حامد وزیری
    فایل های ضمیمه فایل های ضمیمه

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •