ورود

View Full Version : سوال: آپشن باتون



Juventus FC
شنبه 24 مرداد 1394, 15:59 عصر
درود بر اساتید

آقا یک سوال ! من دو آپشن باتون دارم با 5 تا تکست باکس ! میخواهم کدی بنویسم که :

- تکست باکس اول و دوم از اول غیر فعال باشند و توی تکست باکس های غیر فعال نوشته شده باشه "غیر فعال" و وقتی تیک آپشن باتون اولی رو میزنی تکس باکس های اولی و دومی فعال بشند و اون متن "غیر فعال" از درونشون حذف بشه.

من یک تایمر گذاشتم و این کد و نوشتم :


If Option1.Value = True Then
m1.Enabled = True
Text2.Enabled = True
Else
m1.Enabled = False
Text2.Enabled = False
Text2.Text = "ÛíÑ ÝÚÇá"
End If


کارش خوبه منتها ، وقتی تیک آپشن باتون و میزنیم که تکست باکس 1 و 2 فعال باشه ، همچنان متن "غیر فعال" درون تکست باکس ها هست و برای نوشتن درود این ها ، باید این متن و اول پاک کرد و بعد شروع به نوشن کرد ! من میخواهم وقتی تیک آپشن باتون بزنیم کلا این متن پاک بشه و آماده نوشتن بشه.

یا این ، یا اینکه تکست باکس ها در حالتی باشند که وقتی تیک آپشن باتون زده نشده ، از حالت فعال و غیر فعال بشه اونا رو تشخیص داد ! مثلا تکس باکس ، مثل تکست باکس های ویندوز و سایت ها در حالتی بسیار کمرنگ بشند و عملا نشه روی اونها کلیک کرد !

ahmad abdoli
شنبه 24 مرداد 1394, 17:59 عصر
سلام دوست عزیز یه آپشن باتون (OptionButton) روی فرم (Form) بذارید و از اون یه کپی بگیرد. بعد پیغام رو yes کنید تا آپشن باتون (OptionButton) ها به صورت آرایه ایجاد بشن بعد این کد رو تو رویداد کلیک( click ) آپشن باتون (OptionButton) کپی کنید.



Private Sub Option1_Click(Index As Integer)
If Option1(0).Value = True Then
Text1.Enabled = True
Text2.Enabled = True
Text1.Appearance = 1
Text2.Appearance = 1
Text1.Text = ""
Text2.Text = ""
End If

If Option1(1).Value = True Then
Text1.Enabled = False
Text2.Enabled = False
Text1.Appearance = 0
Text2.Appearance = 0
Text1.Text = "غیر فعال"
Text2.Text = "غیر فعال"
End If
End Sub

Juventus FC
شنبه 24 مرداد 1394, 22:44 عصر
سلام دوست عزیز یه آپشن باتون (OptionButton) روی فرم (Form) بذارید و از اون یه کپی بگیرد. بعد پیغام رو yes کنید تا آپشن باتون (OptionButton) ها به صورت آرایه ایجاد بشن بعد این کد رو تو رویداد کلیک( click ) آپشن باتون (OptionButton) کپی کنید.



Private Sub Option1_Click(Index As Integer)
If Option1(0).Value = True Then
Text1.Enabled = True
Text2.Enabled = True
Text1.Appearance = 1
Text2.Appearance = 1
Text1.Text = ""
Text2.Text = ""
End If

If Option1(1).Value = True Then
Text1.Enabled = False
Text2.Enabled = False
Text1.Appearance = 0
Text2.Appearance = 0
Text1.Text = "غیر فعال"
Text2.Text = "غیر فعال"
End If
End Sub


من یک آپشن باتون آوردم روی فرم بعد کپی گرفتم ازش و yes کردم ! بعد دوبار روی آپشن باتون کلیک کردم و کد بالا رو قرار دادم منتها به خط اولش error میگیره ! Index As Integer
کامپایل error میگیره !

ahmad abdoli
سه شنبه 27 مرداد 1394, 11:43 صبح
ببینید وقتی از یه کنترل روی فرم کپی بگیرید زمان past کردن یه سوال از شما می پرسه:
You already have a control named 'option1' . Do you want to create a control array?
شما یه کنترل با این اسم ایجاد کردید.آیا می خواهید یه آرایه از کنترل ایجاد کنید.

در صورت تایید شما این آراییه ایجاد می شه. شما با مراجعه به خاصیت index کنترل ها خواهید دید که یکی از اون ها 0 و بقیه کنترل ها به همین ترتیب 1 و 2 و 3 و الی آخر و خاصیت name همه اونها برابر با کنترل اولی iهست که ازش کپی گرفتید(option1).