PDA

View Full Version : قرار دادن دایره های رنگی در فرم



نسرین2000
چهارشنبه 18 دی 1392, 08:44 صبح
سلام
دوستان من یکی از فرم هام که در مورد رزرواسیون هتل هست رو می خوام به این صورت طراحی کنم که در سمت چپ هر اتاقی یک دایره قرار داشته باشه و در سمت راست دو تا raidio Button که معرف پر یا خالی بودن اتاقهاست .
زمانی که raidio Button پر انتخاب بشه رنگ دایره قرمز بشه و زمانی که raidio Button خالی انتخاب بشه رنگ دایره سبز بشه
و در کل با یک نگاه کاربر بتونه با رنگ اتاقها پی به خالی یا پر بودن اتاقها ببره.
کسی می تونه کمک کنه ؟؟؟؟؟؟؟؟

sagggad
چهارشنبه 18 دی 1392, 09:04 صبح
با سلام
الان مشکل شما با کدهاش هست یا گذاشتن دایره در فرم؟

نسرین2000
چهارشنبه 18 دی 1392, 09:11 صبح
هر دو
میشه از ابتدا توضیح بدید؟

sagggad
چهارشنبه 18 دی 1392, 09:32 صبح
برای دایره که پیشنهاد من طراحی یک یوزر کنترل هست...
اما اگر کار با یوزرکنترل ها رو بلد نیستید VisualBasicPowerPacK رو دانلود ونصب کنید...
با نصب این بسته نرم افزاری کنترل هایی همچون دایره،خط،پرینت فرم و... به ویژوال استودیو شما اضافه میشود...
سپس برای این برنامه ای که شما میخواهید هم باید ابتدا یک رادیوباتون به نام RdoEmpty که نشان دهنده ی خالی بودن و یک رادیوباتون دیگر به نام RdoFull که نشان دهنده ی پر بودن است ایجاد نمایید.سپس یک شی دایره از داخل بسته ی VisualBasicPowerPack به اسم OvalShape1 نیز وارد فرم کرده و خصوصیت BackStyle آن را برابر Opaque قرار دهید برای آن چیزی که شما میخواهید نیز یک دستور خیلی ساده به صورت زیر میتوان نوشت:

If RdoEmpty.Checked Then
OvalShape1.BackColr = Color.Green

Elseif RdoFull.Checked Then
OvalShape1.BackColor = Color.Red
End If

sagggad
چهارشنبه 18 دی 1392, 09:40 صبح
بفرمایید این یک یوزر که الان طراحی کردم:
115058
یک کامپوننت هست که باید به برنامتون اضافه کنید...
برای دسترسی به خصوصیات این دایره باید به صورت زیر عمل کنید:

OvalShape1.Controls("OvalShape1").خصوصیت = ""
موفق باشید

نسرین2000
چهارشنبه 18 دی 1392, 10:37 صبح
چه طوری باید این کامپوننت رو اضافه کنم به برنامه ؟

sagggad
چهارشنبه 18 دی 1392, 10:46 صبح
اون یک مشکلی داشت این رو دانلود کنید و بعد یک فایل Dll داخلش هست که باید اون رو بکشید و روی جعبه ابزار رها کنید:
115059
موفق باشید

نسرین2000
چهارشنبه 18 دی 1392, 10:53 صبح
آقا سجاد من اگه بخوام برای هر اتاق دو تا Raidio Button بذارم در زمان اجرا کاربر فقط می تونه یکی از این Raidio Button ها انتخاب کنه
برای اینکه دو تا دوتا این Raidio Button ها گروه بندی کنم چیکار کنم ؟

sagggad
چهارشنبه 18 دی 1392, 13:47 عصر
من تا دوساعت دیگه به ویی بی دسترسی ندارم
برای این کار هم میشه از کد استفاده کرد و هم میتونم یه کامپوننت براتون بسازم
انشاالله تا نهایتا دوساعت دیگه براتون کامپوننتش رو اماده میکنم
موفق باشی

sagggad
چهارشنبه 18 دی 1392, 19:14 عصر
سلام
من تو رادیو باتون همچین خاصیتی ندیدم ام شما باید دو تا چک باکس ایجاد کنید:
اسم یکی باشه CheckBox1 و اون یکی CheckBox2 ...
خوب حالا باید یه کاری کرد که هر کدوم انتخاب شد اون یکی از حالت انتخاب در بیاد و هرکودوم از حالت انتخاب در اومد اون یکی انتخاب بشه...
برای این کار باید با استفاده از رویداد CheckedChanged مربوط به چک باکس ها و بوسیله ی کدهای زیر اینکار رو انجام بدی:

Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
If CheckBox1.Checked = True Then
CheckBox2.Checked = False
Else
CheckBox2.Checked = True
End If
End Sub

Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox2.CheckedChanged
If CheckBox2.Checked = True Then
CheckBox1.Checked = False
Else
CheckBox1.Checked = True
End If
End Sub

مشکلی داشتی بگو
موفق باشید:لبخندساده:

mc_laren
جمعه 20 دی 1392, 17:00 عصر
مثل ایتکه این آقا سجاد علاقه شدیدی به نوشتن کامپوننت برای هرکاری دارن؟!
برای گروه بندی کردن رایو باتن ها می تونید از پنل و یا گروپ باکس استفاده کنیم ، و هر دوتا رادیوباتن مربوط به یک اتاق رو درون یک پنل یا گروپ باکس قرار بدین.

sagggad
جمعه 20 دی 1392, 17:03 عصر
درسته شدیدا علاقه دارم اما برای رادیوباتون ها شما درست میگید ولی دایره رو که بدون کامپوننت نمیشه برادر من؟؟!!

meisam3322
جمعه 20 دی 1392, 17:56 عصر
درسته شدیدا علاقه دارم اما برای رادیوباتون ها شما درست میگید ولی دایره رو که بدون کامپوننت نمیشه برادر من؟؟!!

:متعجب: عجب !!!!!!!!

بفرما :




e.Graphics.DrawRectangle(Pens.Green, 10, 10, 200, 150)
e.Graphics.DrawEllipse(Pens.Red, 0, 0, 150, 150)

meisam3322
جمعه 20 دی 1392, 18:02 عصر
یا این :



Dim x As System.Drawing.Graphics
x = Me.CreateGraphics()
x.DrawEllipse(Pens.Black, 150, 150, 100, 100)

sagggad
جمعه 20 دی 1392, 23:28 عصر
خوب دوست من برای چی باید هردفعه ازاین کدها استفاده کرد؟؟
یه کامپوننت مینویسیم و هر دفعه ازش استفاده میکنیم که دیگه هر دفعه به کد نویسی احتیاج نشه....:شیطان:

نسرین2000
شنبه 21 دی 1392, 08:40 صبح
از دوستان ممنون
هر دو تا Raidio Button رو در یک panel قرار دادم و آنها رو گروه بندی کردم .
و توسط کامپوننت آقا سجاد هم تونستم دایره رسم کنم
فقط یه مشکلی هست :متفکر:
وقتی رنگ بک گراند رو سبز یا قرمز می کنم دایره به همراه مربعی که درون آن هست همه رنگی می شن یعنی من به جای یک دایره رنگی یک مربع رنگی دارم :متفکر:
کی میتونه راهنمایی کنه ؟

sagggad
شنبه 21 دی 1392, 09:46 صبح
آره ببخشید اون یکی مشکل داشت این رو دانلود کنید:
115180
وقتی اضافش کردید یه خصوصیت به اسم BackColor داره که به طور پیشفرض روی Red تنظیمش کردم..
فعلا چهارتا رنگ بیشتر براش وقت نداشتم بذارم و Red و Grenn و Black و White
فکر کنم کارت راه بیوفته
فقط خصوصیت BackColor رو باید داخلش رنگ مورد نظرت رو بنویسی یعنی اگه خواستی سبز بشه باید بنویسی :
Green اگه خواستی قرمز بشه داخل خصوصیت تایپ کن:Red
موفق باشید:لبخندساده:

نسرین2000
شنبه 21 دی 1392, 10:50 صبح
با چه دستوری رنگش عوض می شه ؟

sagggad
شنبه 21 دی 1392, 10:52 صبح
Oval1.BackColor = "Red"

نسرین2000
شنبه 21 دی 1392, 11:15 صبح
An error occurred creating the form. See Exception.InnerException for details. The error is: Could not load file or assembly 'WindowsControlLibrary2, Version=1.0.4997.17895, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
آقا سجاد یه ارور دیگه
نمی تونه فرمم رو باز کنه و ارور بالا رو می ده :گریه:

sagggad
شنبه 21 دی 1392, 11:17 صبح
شی رو وارد برنامه نکردید؟

نسرین2000
شنبه 21 دی 1392, 11:40 صبح
چرا کامپوننتی را که گذاشتید درگ کردم تو لیست ابزارها

sagggad
شنبه 21 دی 1392, 11:43 صبح
خوب بعد چی شد؟؟
یه دفعه فرم که نمیره...

نسرین2000
شنبه 21 دی 1392, 11:55 صبح
زمانی که اجرا می کنم نمی تونه فرم 2 که این کامپوننت روشه باز کنه ؟
ممکنه از ورژن باشه ؟

نسرین2000
شنبه 21 دی 1392, 12:08 عصر
چی کار کنم ؟

sagggad
شنبه 21 دی 1392, 12:10 عصر
اون کامپوننت اولی رو باز میکرد؟

نسرین2000
شنبه 21 دی 1392, 12:14 عصر
بله:ناراحت:

نسرین2000
یک شنبه 22 دی 1392, 07:35 صبح
سلام
آقا سجاد فرم قبلی رو پاک کردم و یک فرم دیگه اضافه کردم
کامپوننت قبلی اجرا میشه و مشکلی نداره ولی این کامپوننت oval اجرا نمی شه و خطا می ده
میشه دوباره برام بفرستی
برای خودت اجرا میشه ؟
من باز هم فکر می کنم از ورژن ارور می گیره

sagggad
یک شنبه 22 دی 1392, 12:10 عصر
سلام
ببخشید من این رو با دات نت فریم ورک 4.5 ساخته بودم
الان کردمش 3.5 دانلودش کنید...
شرمنده:خجالت:
115246
موفق باشید:لبخندساده: