PDA

View Full Version : UserControl_WriteProperties



UpgradeVB6Code
دوشنبه 20 اسفند 1386, 18:46 عصر
سلام
کسی میتونه این دو تا رو با یه مثال ساده برای من توضیح بده :قلب:



Private Sub UserControl_WriteProperties(PropBag As PropertyBag)

End Sub

Private Sub UserControl_ReadProperties(PropBag As PropertyBag)

End Sub

Mbt925
دوشنبه 20 اسفند 1386, 19:04 عصر
WriteProperty برای ذخیره کردن یه مقدار بکار میره.
فرض کنید کنترل شما خاصیتی به نام Caption داره ، در زمان طراحی مقدار این خاصیت رو تغییر بدید ، حالا اگه برنامه رو اجرا کنید می بینید که مقداره وارد شده از دست رفته ، چون جایی نوشته (ذخیره) نشده.

وقتی برنامه اجرا میشه ، وی بی بطور خودکار این رویداد رو فراخوانی می کنه تا قبل از اجرا ، مقادیری که شما در این روال نوشتید نوشته (ذخیره) بشن.

برای مثال برای نوشتن خصوصیت Caption بصورت زیر عمل کنید :





Private Sub UserControl_WriteProperties(PropBag As PropertyBag)

Call PropBag.WriteProperty("Caption", m_Caption, m_def_Caption)

End Sub


با این دستور مقدار متغیر m-Caption توی خصوصیت Caption (ذخیره) نوشته میشه.

مقدار از متغیر m_Caption توی پراپرتی Caption نوشته شد.
حالا اگه برنامه رو اجرا کنید پراپرتی Caption مقدار خودشو حفظ کرده ولی مقدار متغیر m_Caption مقدارشو از دست داده.

اینجاست که نیاز به ReadProperty داریم.

نمونه ی مربوط به Caption رو برای این روال ببنینید :





Private Sub UserControl_ReadProperties(PropBag As PropertyBag)

Caption = PropBag.ReadProperty("Caption", m_def_Caption)

End Sub



همون طور که از کد مشخصه ، مقدار موردنظر از پراپرتی Caption خونده میشه و در متغیر m_Caption نوشته میشه.
چرا؟ برای اینکه شما بتونین از این متغیر (به عنوان نماینده ای از رشته ای که حاوی Caption ابزارتون هست) توی برنامتون استفاده کنید.

-------------------
نمای کلی از طرز کار این دو روال

WriteProperty : از متغیر ها به پراپرتی اه مربوطه
ReadProperty : از پراپرتی ها به متغیر ه مربوطه

-------------------

همون طور که از توضیحات مشخصه WriteProperty بر ReadProperty مقدمه.
با تریس کردن یه ابزار (مرحله به مرحله پیش رفتن) می تونین زمان فراخوانی این 2 رویداد رو یاد بگیرید و بهش مسلط بشید.

UpgradeVB6Code
دوشنبه 20 اسفند 1386, 19:17 عصر
واقعا لطف کردی :تشویق:
:قلب:
برم ببینم میتونم یه ابزار کوچولو بنویسم !

UpgradeVB6Code
دوشنبه 20 اسفند 1386, 22:28 عصر
سلام
آقا ابزار نوشتن چه قدر سخته
من میخوام یه باتن جدید درست کنم اصلا وسط کار یادم رفت دارم چه کار میکنم !
چند تا مشکل دارم
اون اینکه یه باتن گذاشتم روی UserControl تمام ایونت هاش پرید !
البته با یه کلک ایونت کلیک رو دوباره درست کردم !

دوم میخوام پراپرتی Enabled رو درست کنم یه کارایی کردم اما یه مشکل داره که خودم نمیدونم مشکلکش چیه ! (یعنی پراپرتیشو درست کردم اما نمیدونم چه جوری اعمالش کن )

PropertyChanged رو هم یه جا دیده بودم استفاده شده بود اما نمیدونم چیه منم این جا گذاشتم اما نمیدونم کارش چیه !

میشه یه نگاه بهش بندازید !

Mbt925
سه شنبه 21 اسفند 1386, 09:31 صبح
تکمیل شد.
مشکل مفهومی دارید ، یکم روی مفهوم ها کار کنید.