PDA

View Full Version : عملیات جمعی روی TextBox



shahab2025
یک شنبه 01 آبان 1390, 13:14 عصر
سلام دوستان
من در یکی از فرمهام حدود 25 تا TextBox دارم که میخوام همش سه رقم سه رقم جدا بشه
بلدم برای یک یکشون کد بنویسم یا در یک ماژول بنویسم و برای یک یکشون اجرا کنم ولی میخوام بدونم راهی داره که برای همشون توی یه چرخه چند خط بنویسم و تموم بشه؟؟؟
چون یادمه برای خالی کردن همشون از یک For each که از همین سایت گرفتم بهره بردم

sina_saravi1
یک شنبه 01 آبان 1390, 13:29 عصر
سلام دوستان
من در یکی از فرمهام حدود 25 تا TextBox دارم که میخوام همش سه رقم سه رقم جدا بشه
بلدم برای یک یکشون کد بنویسم یا در یک ماژول بنویسم و برای یک یکشون اجرا کنم ولی میخوام بدونم راهی داره که برای همشون توی یه چرخه چند خط بنویسم و تموم بشه؟؟؟
چون یادمه برای خالی کردن همشون از یک For each که از همین سایت گرفتم بهره بردم

سلام
اینم روشش :
For Each ob In Me.Controls
If TypeOf ob Is TextBox Then
ob.text = "عملیات شما"
End If
Next

shahab2025
یک شنبه 01 آبان 1390, 14:52 عصر
این روش هنگامیکه کاربر داره شماره ها رو وارد میکنه که کاربرد نداره . (اگه داره بگین چطوری؟) میخوام سیستم بدونه که کاربر داره توی TextBox داره تایپ میکنه و اونوقت سه رقم سه رقم جداکنه....

kiarashk
یک شنبه 01 آبان 1390, 16:03 عصر
این روش هنگامیکه کاربر داره شماره ها رو وارد میکنه که کاربرد نداره . (اگه داره بگین چطوری؟) میخوام سیستم بدونه که کاربر داره توی TextBox داره تایپ میکنه و اونوقت سه رقم سه رقم جداکنه....
؟

رويه ي Text_chenged رو امتحان كردي؟

shahab2025
یک شنبه 01 آبان 1390, 16:35 عصر
رويه ي Text_chenged رو امتحان كردي؟

من کدهای جدا کننده را همانجا مینویسم ولی کدهای آقا سینا را کجا بنویسم که یه کارم بیاد؟

sina_saravi1
یک شنبه 01 آبان 1390, 17:20 عصر
شما یک رویداد برای تکست چینج درست کن
تو همون حلقه تمام تکست باکس ها رو وصلش کن به اون رویداد

الان باید برم جایی نمیتونم کد بدم
ولی یه نمونه نزدیک به همین قضیه تو وبلاگم هست ( ساخت آرایه از کنترل و کد نویسی برای اونا ) که 2 تا مطلبه
تو موضوع مقالات آموزشی هست

برو رات میندازه

alimanam
یک شنبه 01 آبان 1390, 20:33 عصر
با سلام

به نظر من بهتره واسه اینکار یه User Control بنویسی تا یک بار کد بنویسی یک دهه استفاده کنی :گیج:

موفق باشید ./

shahab2025
دوشنبه 02 آبان 1390, 18:25 عصر
با سلام

به نظر من بهتره واسه اینکار یه User Control بنویسی تا یک بار کد بنویسی یک دهه استفاده کنی :گیج:

موفق باشید ./

بیشتر توضیح میدین؟

alimanam
دوشنبه 02 آبان 1390, 19:25 عصر
با سلام

یه پروژه جدید از نوع Class Library درست کن بعد به وسیله Add Reference باید System.Windows.Forms رو به پروژه اضافه کنی بعد این فضای نام رو به کلاس مورد نظر اضافه کن . و در رویداد دلخواهت که باعث میشه اعداد با فرمت خاصی که دوست داری نمایش داده بشه کدنویسی کن و پروژه رو در آخر کامپایل میکنی حالا غذای ما آماده است ! هروقت دوست داشتی میتونی در پروژه های بعدی ازش استفاده کنی !!!

اینم کد راهنما !

Imports System.Windows.Forms

Public Class MyNewTxtbox
Inherits TextBox

Private Sub MyNewTxtbox_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
If Me.Text.Length > 0 Then
Dim pos As Integer = Me.SelectionStart + 1
Me.Text = CDbl(Me.Text).ToString("#,#")
Me.SelectionStart = pos
End If
End Sub

End Class
موفق باشید ./

مرتضی تقدمی
شنبه 14 آبان 1390, 11:18 صبح
سلام
با تشکر از آقای alimanam. اگه توی رویداد TextChanged بنویسید بهتره. چون اگه بصورت paste هم مقدار بگیره, باز هم اعداد جدا بشن.
ممنون

brownbear
سه شنبه 17 آبان 1390, 02:17 صبح
با سلام

یه پروژه جدید از نوع Class Library درست کن بعد به وسیله Add Reference باید System.Windows.Forms رو به پروژه اضافه کنی بعد این فضای نام رو به کلاس مورد نظر اضافه کن . و در رویداد دلخواهت که باعث میشه اعداد با فرمت خاصی که دوست داری نمایش داده بشه کدنویسی کن و پروژه رو در آخر کامپایل میکنی حالا غذای ما آماده است ! هروقت دوست داشتی میتونی در پروژه های بعدی ازش استفاده کنی !!!

اینم کد راهنما !

Imports System.Windows.Forms

Public Class MyNewTxtbox
Inherits TextBox

Private Sub MyNewTxtbox_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
If Me.Text.Length > 0 Then
Dim pos As Integer = Me.SelectionStart + 1
Me.Text = CDbl(Me.Text).ToString("#,#")
Me.SelectionStart = pos
End If
End Sub

End Class
موفق باشید ./

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