PDA

View Full Version : حرفه ای: اضافه کردن کامپوننت های مختلف به صورت دینامیکی



ara_tz
شنبه 20 خرداد 1391, 06:55 صبح
سلام
از دوستان کسی میدونه چجوری میشه توی وی بی کامپوننت های مختلف رو به صورت دینامیکی و فقط با کد نویسی به برنامه اضافه کرد؟
مثلا یه تکست باکس و یه دکمه به صورت کد نویسی توی فرم برنامه اضافه کنیم

crazy coder
شنبه 20 خرداد 1391, 07:41 صبح
سلام
تو ویندوز میخای یا تو وب...
برا ویندوز :
یک شی از کامپوننت مورد نظر ایجاد کن...پراپرتی های اون رو مقدار بده، مثلا نام ، مکان و .... بعد اون رو به فرم اضافه کن
برا وب:
content place holderمثل بالا ولی باید کامپوننت مورد نظر رو تو
بذاری....

ara_tz
شنبه 20 خرداد 1391, 07:47 صبح
سلام
خیلی ممنون که اینقدر زود جواب دادی
برای ویندوز میخوام و اگر لطف کنی یک مثال با کد بزنی ممنون میشم چون نمیتونم به فرم چیز جدیدی با کد نویسی اضافه کنم

ahmadreza517
شنبه 20 خرداد 1391, 10:33 صبح
به نام تنها برنامه نویس هستی
از این استفاده کن

Hybrid
شنبه 20 خرداد 1391, 11:56 صبح
سلام ، شما باید اول با مفاهیم شی گرایی آشنا بشی و مفهمون رو درک کنی کدنویسیش راحته ،

هر کدوم از این کنترل های که داخل ویژوال استودیو میبینی از کلاسشون به ارث برده شدن ، مثلا کنترل Button از کلاس Button ارث بری کرده ،

اگه میخوای در زمان Runtime دکمه ای رو ایجاد کنی باید یک شی از کلاس Button بسازی و خصوصیاتش رو مقدار دهی کنی و سرانجام Parent اونو(جایی که باید روی اون نمایش داده بشه) رو مشخص کنی

ara_tz
یک شنبه 21 خرداد 1391, 07:13 صبح
به نام تنها برنامه نویس هستی
از این استفاده کن

سلام دستت درد نکنه دقیقا همونی بود که میخواستم

sahar1982
یک شنبه 21 خرداد 1391, 15:47 عصر
ahmadreza517 محترم،

با تشکر از راهنماییتون. من همین مشکل رو با ایجاد کردن picturebox دارم. مشابه همین textbox انجام میدم ولی ایجاد نمیشه. در واقع می خوام موقع run یک picturebox باز بشه و روش نمودارهای مختلفی ترسیم شه. وقتی picturebox رو به صورت manual در زمان طراحی میذاریم روی فرم، نمودارها کشیده میشن موقع run، ولی وقتی picturebox رو موقع run میخوام ایجاد کنم نمیشه. میشه راهنمایی بفرمایین که چه خواص دیگه ای رو بجز name، location و size باید تعریف کنم یا مشکل چی می تونه باشه؟
با تشکر.

Hybrid
یک شنبه 21 خرداد 1391, 15:55 عصر
picturebox رو موقع run میخوام ایجاد کنم نمیشه. میشه راهنمایی بفرمایین که چه خواص دیگه ای رو بجز name، location و size باید تعریف کنم یا مشکل چی می تونه باشه؟

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


Dim PB As New PictureBox
PB.Name = "PB"
PB.Size = New Point(200, 200)
PB.Location = New Point(100, 100)
PB.SizeMode = PictureBoxSizeMode.StretchImage
PB.Parent = Me
PB.Image = Image.FromFile(ofd.FileName)

*در قطعه کد بالا PB همون PictureBox در زمان اجرا هست و بعد خاصیت های Name، Size ، Location ، SizeMode و Parent ( جایی که باید نمایش داده بشه ) و Image اونو مقدار دهی کردم همچنین OFD یک OpenFileDialog هست.

سوالی داشتین در خدمتم

sahar1982
دوشنبه 22 خرداد 1391, 09:24 صبح
سلام. مرسی از راهنمایی هاتون. من همین کار رو انجام می دم ولی نمی دونم چرا انجام نمیشه. بینین برنامه من قراره در زمینه تحلیل و طراحی ساختمانها باشه. من در واقع یه سری ماتریس های ورودی دارم که در بردارنده مشخصات سازه ای ساختمان هست. یعنی مثلاً با یه سری از مختصاتها اول می خوام پلان ساختمان رو ترسیم کنه و نشون بده. مشکلی که دارم رو تو نمونه ساده شده زیر آوردم. اگه لطف بفرمایین و یه نگاهی بندازین ممنون میشم.

Hybrid
یک شنبه 28 خرداد 1391, 09:32 صبح
خوب نوشتین فقط یک متد Refresh رو کم گذاشتین !


pic_box1.Refresh()

خط بالا رو داخل رویداد Click دکمه Generate نمونه خودتون و قبل از خط


pic_box1.CreateGraphics.DrawLine(mypen1, x1, y1, x2, y2)

اضافه کنید تا مشکل حل بشه.

sahar1982
یک شنبه 28 خرداد 1391, 09:44 صبح
وای چقدر ساده بود. :خجالت:
مرسی. لطف کردین.