ورود

نسخه کامل مشاهده نسخه کامل : سوال در مورد اجرای یک تابع یک فرم از فرم دیگر



ali_nob
13-05-2007, 19:27
با سلام
من تمایل دارم از داخل فرم MdiParent یک تابع را در Child Form در حالی که فرم Child باز است اجرا کنم
لطفا راهنمایی نمایید
با تشکر

_H2_
15-05-2007, 15:51
سلام
اشاره گری به فرم فرزند به دست آورید و متد مورد نظر را اجرا کنید.
مثلاً مشخصه ActiveMdiChild حاوی اشاره گری به فرم فرزند جاری است (فرمی الآن فعال است) و خصوصیت
MdiChildren شامل لیست تمام فرم ها ی فرزند است، بعد از به دست آوردن اشاره گر اگر تابع مورد نظر برای فراخانی عضو اصلی هر فرم باشد، میتوانید به راحتی آن را اجرا کنید (مثل Hide و Show و...) ولی اگر تابع مورد نظر را خودتان تعریف کرده باشید نیاز به تبدیل اشاره گر دارید که در #C با یک جفت پرانتز حاوی نوع انجام میشود و در VB با دستور DirectCast (و یا CType و یا TryCast)

کد زیر متدی از فرم فرزند جاری را در VB اجرا میکند.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ali_nob
16-05-2007, 07:54
ممنون از لطفتون
فقط اگه بخواهیم در صورتی که یک فرم با نام FromName باز باشد که ممکنه ActiveMdiChild باشد یا نباشد در این صورت چه اشاره گری برای آن وجود دارد ؟

_H2_
17-05-2007, 10:14
سلام
گفتم لیست MdiChildren شامل کلیه فرمهای فرزند است و کافیست در آن جستجو کنید.
و نیز توجه داشته باشید که میتواند بیش از یک فرم از نوع FormName فرزند در فرم والد MDI باز شده باشد.
کد زیر این لیست را برای یافتن کلیه نمونه های FormName اسکن میکند و متد مورد نظر را برای همه آنها اجرا میکند، میتوانید با قرار دادن دستور Exit For این کار را فقط برای اولین فرم پیدا شده انجام دهید و از مابقی صرف نظر کنید. (اگر بیش از یک فرم از آن نوع باز باشد.)


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ali_nob
17-05-2007, 21:56
بسیار بسیار ممنون !