PDA

View Full Version : فراخوانی فرم با نام



Navid Asadi
سه شنبه 18 خرداد 1389, 12:18 عصر
سلام دوستان
من وقتی میخوام یک کنترل رو با نامش فراخوانی کنم از دستور زیر استفاده میکنم :
me.controls("My Control Name").text
البته text. مثال بود
خوب حالا یک فرم رو چطوری با نامش فرا خوانی کنم؟

Hossis
سه شنبه 18 خرداد 1389, 12:40 عصر
چرا راه رو دور مي کنيد، همون اول نام رو بنويسيد با خصوصياتش مثلا اگر تکست باکس شما با نام MyTxtBox هست اين طور بنويسي"
MytxtBox.text
در مورد فرم هم همين طور
Form2.text
نمي دونم چه حکمتي تو اون روش هست؟

Open-Source
سه شنبه 18 خرداد 1389, 13:20 عصر
میتونی بگی چیکار میخولی بکنی؟:متفکر:
شاید بشه یه راه خوب براش پیدار کرد.

Navid Asadi
پنج شنبه 20 خرداد 1389, 14:36 عصر
نگاه کنید من میخوام برنامه ام کاملا منعطف باشه به طوری که حتی بشه کنترل های بعد از Debug رو برنامه انجام داد.
برنامه من کاملا قابلیت آپدیت داره و حتی اشکالات کد نویسی رو هم رفع میکنه و ...
حالا فرض کنید من میخوام یک فایل تکس درست کنم و نام یک فرم و عملیاتی که باید توش بشه (مثلا تغییر رنگ یک کنترل) رو به طور کد شده قرار بدم و برنامه من که میتونه اون فایل رو چک کنه و دستوراتش رو میفهمه میخواد این کارا رو انجام بده ...
من فقط نمی تونم یک فرم رو با name فرا بخوانم باقیش انجام شده...


چرا راه رو دور مي کنيد، همون اول نام رو بنويسيد با خصوصياتش مثلا اگر تکست باکس شما با نام MyTxtBox هست اين طور بنويسي"
MytxtBox.text
در مورد فرم هم همين طور
Form2.text
نمي دونم چه حکمتي تو اون روش هست؟

درسته من یه سه ماهی به خاطر درسام تو سایت کم فعالیت بودم ولی فکر نکم تو این مدت من و از یاد برده باشی Hossis جان...
دیگه این چیزا رو که خودم بلدم!

Hossis
پنج شنبه 20 خرداد 1389, 22:25 عصر
نگاه کنید من میخوام برنامه ام کاملا منعطف باشه به طوری که حتی بشه کنترل های بعد از Debug رو برنامه انجام داد.
برنامه من کاملا قابلیت آپدیت داره و حتی اشکالات کد نویسی رو هم رفع میکنه و ...!
دو راه مي شه تصور کرد هرچند خودم امتحان نکردم
اول اين که هر کنترلي که در زمان اجرا در برنامه قرار مي‌دهيد، از اسم اون استفاده کنيد

Dim Frm As new Form
frm.showDialog

ولي اين روش در صورتي که چند کنترل با هم اضافه کنيد،‌ جواب نمي‌ده
دوم : اين که از حلقه For استفاده کنيد

For Each Frm As form In My.Forms
If frm.Name="MyForm" then exit for
next

Dr.Bronx
پنج شنبه 20 خرداد 1389, 23:26 عصر
اگر بخوایم بر اساس این خط از کد شما عمل کنیم که نوشتید.


me.controls("My Control Name").text

پس معادل اون کد میشه


My.Forms.Form2.Show()

موفق باشید ./

Navid Asadi
شنبه 22 خرداد 1389, 10:05 صبح
هنوز امتحان نکردم ولی شاید استفاده از حلقه با این که غیر اصولی هست ولی در حال حاضر بهترین جواب باشه!