PDA

View Full Version : سوال: بدست آوردن ایتم انتخاب شده بر روی فرم



niknam_mh
چهارشنبه 20 بهمن 1400, 21:14 عصر
با سلام دوستان
فرض کنید ما 20 عدد تکست باکس روی یه فرم داریم و مثلا تکست باکس دهم در حالت انتخاب هست اگه بخوایم با زدن یه دکمه سیستم تشخیص بده که کدوم تکست باکس در حالت انتخاب هست راه حلش چیه؟
ممنونم

ROSTAM2
چهارشنبه 20 بهمن 1400, 22:04 عصر
سلام . زمانی که کلید کلیک می شه دیگه هیچ تکست باکسی انتخاب نخواهد بود و کلید انتخاب می شه بهتره از رویدادهای تکست باکس ها استفاده کنید به کمک یک متغیر عمومی می تونید تکست باکس انتخاب شده رو تعیین کنید. رویدادهای Enter یا Gotfocus

niknam_mh
چهارشنبه 20 بهمن 1400, 22:39 عصر
ممنون دوست عزیزم
آخه من یه نرم افزار دارم مینویسم 132 عدد تکس باکس داره میخوام برا سرچ یه دکمه بگذارم که هر کدوم از تکس باکس ها که فوکوس بود تشخیص بده اون تکس باکس رو و بره مقدار رو سرچ کنه
این چیزی که شما میگید رو باید داخل رویدادهای فرم بگذارم؟

ROSTAM2
چهارشنبه 20 بهمن 1400, 23:11 عصر
خوب چرا باید این همه تکست باکس داشته باشه ی نرم افزار برای جستجو؟!
هر کدوم از تکست باکس ها که انتخاب می شن توسط رویداد Enter مثلا (از خود تکست باکس) متغیر عمومیه که نام تکست باکس انتخاب شده رو می گیره. زمانی که کلید کلیک بشه طبق مقدار متغیر و جستجو بین اشیاء ParentControl، تکست باکس رو می شه پیدا کرد.

وی ی چیز دیگه نیاز نیست برای رویداد هر شیء پروسیجر مجزا داشته باشیم کافیه که رویداد همه اشیا یک پروسیجر رو هندل کنن.

niknam_mh
چهارشنبه 20 بهمن 1400, 23:16 عصر
خوب چرا باید این همه تکست باکس داشته باشه ی نرم افزار برای جستجو؟!
هر کدوم از تکست باکس ها که انتخاب می شن توسط رویداد Enter مثلا (از خود تکست باکس) متغیر عمومیه که نام تکست باکس انتخاب شده رو می گیره. زمانی که کلید کلیک بشه طبق مقدار متغیر و جستجو بین اشیاء ParentControl، تکست باکس رو می شه پیدا کرد.

وی ی چیز دیگه نیاز نیست برای رویداد هر شیء پروسیجر مجزا داشته باشیم کافیه که رویداد همه اشیا یک پروسیجر رو هندل کنن.

دوست عزیز میشه با یه مثال بهم توضیح بدید متوجه نمیشم
ممنونم:قلب:

ROSTAM2
چهارشنبه 20 بهمن 1400, 23:29 عصر
اینطور که من متوجه شدم شما ی همچین کدی می خواید:


Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
MsgBox(Me.SearchText)
End Sub
Dim SearchText As String = ""
Private Sub TextBox1_GotFocus(sender As Object, e As System.EventArgs) _
Handles TextBox1.GotFocus, TextBox2.GotFocus, TextBox3.GotFocus, TextBox4.GotFocus
Dim Box As TextBox = sender
Me.SearchText = Box.Text
End Sub


153690

niknam_mh
چهارشنبه 20 بهمن 1400, 23:51 عصر
اینطور که من متوجه شدم شما ی همچین کدی می خواید:


Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
MsgBox(Me.SearchText)
End Sub
Dim SearchText As String = ""
Private Sub TextBox1_GotFocus(sender As Object, e As System.EventArgs) _
Handles TextBox1.GotFocus, TextBox2.GotFocus, TextBox3.GotFocus, TextBox4.GotFocus
Dim Box As TextBox = sender
Me.SearchText = Box.Text
End Sub


153690

ممنونم خدا خیرتون بده
راهی نداره که نخواد برا همه تکس باکس ها کد ننویسم یعنی یه فانکشن باشه برا همشون

ROSTAM2
پنج شنبه 21 بهمن 1400, 09:24 صبح
فانکشنی که شما می خواید همون پردازه ای هست که کدشو ارسال کردم و نیاز نیست برا هر شی ی پردازه جدا بنویسید.


Private Sub TextBox1_GotFocus(sender As Object, e As System.EventArgs) _
Handles TextBox1.GotFocus, TextBox2.GotFocus, TextBox3.GotFocus, TextBox4.GotFocus
Dim Box As TextBox = sender
Me.SearchText = Box.Text
End Sub