PDA

View Full Version : user control



نسرین2000
سه شنبه 08 بهمن 1392, 08:19 صبح
سلام
من یک user control طراحی کردم که شامل سه تا رادیو باتن هست و برای هر کدام از این رادیوها کدهای زیر را نوشتم :

Private Sub rdb1_CheckedChanged(sender As Object, e As EventArgs) Handles rdb1.CheckedChanged
If rdb1.Checked Then
Form1.txtpay_night.Text = Val(Form1.txtpay_night.Text) + 560000
Else
Form1.txtpay_night.Text = Val(Form1.txtpay_night.Text) - 560000

End If
End Sub

Private Sub rdb2_CheckedChanged(sender As Object, e As EventArgs) Handles rdb2.CheckedChanged
If rdb2.Checked Then
Form1.txtpay_night.Text = Val(Form1.txtpay_night.Text) + 742000
Else
Form1.txtpay_night.Text = Val(Form1.txtpay_night.Text) - 742000

End If
End Sub
Private Sub rdb3_CheckedChanged(sender As Object, e As EventArgs) Handles rdb3.CheckedChanged
If rdb3.Checked Then
Form1.txtpay_night.Text = Val(Form1.txtpay_night.Text) + 954000
Else
Form1.txtpay_night.Text = Val(Form1.txtpay_night.Text) - 954000

End If
End Sub

یعنی با این کدها می خوام هر کدوم از رادیو ها که فعال بودن یک عدد خاصی را با تکس باکس (txtpay_night) جمع کند.
حالا مشکل اینجاست که هر بار تکس باکس را خالی می کند و فقط همان عدد آخر را جمع می کند.
مثلا من اگر سه تا رادیو 1 و 2 و 3 را فعال کنم به جای اینکه 560000+742000+954000 کند و جمع را بنویسد فقط عد آخر یعنی 954000 را می نویسد ؟؟؟؟؟؟؟؟؟

hamed.alinejad
سه شنبه 08 بهمن 1392, 11:00 صبح
داداش کنار اعداد هم از val استفاده کن

val(24000)

تشکر یادت نره اگه کارت حل شد
ههه ههه

نسرین2000
سه شنبه 08 بهمن 1392, 11:28 صبح
داداش درست نشد

gilsoft
سه شنبه 08 بهمن 1392, 15:42 عصر
سلام دوست عزیز

ابتدا یک TextBox و 3تا CheckBox روی فرم ایجاد کن .. بعد کد زیر رو داخل فذم کپی کن و برنامه رو اجرا کن
Private Sub CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged, CheckBox2.CheckedChanged, CheckBox3.CheckedChanged
Dim ctrl As CheckBox = CType(sender, CheckBox)
Dim Price As Long = CLng(Val(Me.TextBox1.Text.Trim))

Dim a As Long = 560000
Dim b As Long = 772000
Dim c As Long = 954000

Select Case ctrl.Name.ToLower.Trim
Case "checkbox1" : If ctrl.Checked Then Price += a Else Price -= a
Case "checkbox2" : If ctrl.Checked Then Price += b Else Price -= b
Case "checkbox3" : If ctrl.Checked Then Price += c Else Price -= c
End Select
TextBox1.Text = CStr(Price)
End Sub
موفق باشید ...

نسرین2000
شنبه 12 بهمن 1392, 07:40 صبح
سلام
آقای gilsoft ممنون از پاسختون ولی احتراما باید بگم من توی فرمم فقط یک سری از این یوزر کنترل ندارم بلکه 23 تا از این یوزر کنترل که شامل 3 تا رادیو باتن هست دارم و می خوام هر کدوم از این حالات که انتخاب می شه مقدارش جمع بشه
نمیدونم واضح توضیح د ادم یا نه یعنی من باید 23 تا عدد رو با هم جمع کنم .