PDA

View Full Version : سوال: متد Tag چیه که تو اکثر کنترل ها هست



rezaei manesh
چهارشنبه 01 خرداد 1387, 11:28 صبح
سلام
این متد tagکه تو اکثر کنترل ها هست (شاید هم همه کنترل ها)کارش پی هست یه مثال می شه بزنید که چه جاهایی استفاده می شه
جدیداً در همین برنامه نویس هم اون پایین یه tagsاضافه شده که اونم نمی دونم به چه دردی می خوره ؟!!

ASKaffash
چهارشنبه 01 خرداد 1387, 12:53 عصر
با سلام
یک متغیر مفت ومجانی که برای برنامه نویسی خیلی مفیده حرفه ای ها هرجا کم میاورند از اون برای تشخیص یک ویژه گی نسبت به سایر اشیا استفاده میکنند در ضمن در نسخ اولیه دات نت که حذف شد صدای برنامه نویس ها به هوا رفت که دوباره میکروسافت در دات نت گذاشت سرجاش خلاصه خیلی وقت ها عصای دست ماست

SabaSabouhi
چهارشنبه 01 خرداد 1387, 13:17 عصر
با سلام
یک متغیر مفت ومجانی که برای برنامه نویسی خیلی مفیده حرفه ای ها هرجا کم میاورند از اون برای تشخیص یک ویژه گی نسبت به سایر اشیا استفاده میکنند


با سلام
دو عبارت «حرفه‌اى‌ها» و «كم مى‌آورند» رو با هم استفاده نكنيد به‌تره.
اگر يه نفر حرفه‌اى هست كم‌آوردن معنى نداره. هر كارى راه حلى داره و اگه برنامه‌نويس حرفه‌اى باشه يا راه درست رو بلده و يا مى‌ره راه درست رو پيدا مى‌كنه.

در مورد Tag:
شما مى‌توانيد با نوشتن عبارتى در Tag يك مشخصه به كنترل خودتون اضافه كنيد و هر جا كه لازم بود اون رو بخونيد. اين براى نوشتن فرم‌هاى پويا (Dynamic) به درد مى‌خوره.

صبا صبوحى

sinpin
چهارشنبه 01 خرداد 1387, 13:23 عصر
سلام
این متد tagکه تو اکثر کنترل ها هست (شاید هم همه کنترل ها)کارش پی هست یه مثال می شه بزنید که چه جاهایی استفاده می شه
جدیداً در همین برنامه نویس هم اون پایین یه tagsاضافه شده که اونم نمی دونم به چه دردی می خوره ؟!!
همونطور كه دوستان ديگه هم گفتند يك متغير از نوع آبجكت است كه ميتونيد بعنوان temp‌ از اون استفاده كرده و هرچيزي رو توش بريزيد. در نسخه هاي اوليه دات نت اين خاصيت حذف شده بود كه به درخواست تعداد زيادي از برنامه نويسان در نسخه هاي بعدي مجددا تعبيه شد.

ASKaffash
چهارشنبه 01 خرداد 1387, 13:30 عصر
با سلام
اگر برنامه نویس DotNet باشید بعلت اینکه خیلی راحت یک کنترل وراثتی ایجاد میکنید و خاصیت جدیدی به آن اضافه میکنید کم نمی آورید ولی اگر قبلا با VB6 کار کرده باشید یا باید آرایه پویا بگیری وبه سختی به آن مدیریت کنی یا کم میاری و از Tag امداد می طلبی

rezaei manesh
چهارشنبه 01 خرداد 1387, 13:36 عصر
سلام
ممنون از توجه شما
اگه ممکنه یه مثال عملی بزنید
من با دات نت 2005 کار می کنم اما تا حالا کارم گیر این تک نبوده شاید چون نمی دونستم چکار می کنه!

ASKaffash
چهارشنبه 01 خرداد 1387, 14:34 عصر
با سلام
این هم یک نمونه برای آشنائی شما


Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Label1.Tag = "L1"
Me.Button1.Tag = "B1"
Me.Button2.Tag = "B2"
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Label1.Click, Button2.Click
Me.Text = sender.tag
End Sub
End Class

rezaei manesh
چهارشنبه 01 خرداد 1387, 15:16 عصر
دوست عزیز منظورم این نبود که نمی تونم بهش مقدار بدم یا ازش بخونم!!!
منظورم اینه که یه استفاده کاربردی ازش بگین که که نسبت به روش های دیگه بهتر باشه

ASKaffash
چهارشنبه 01 خرداد 1387, 16:09 عصر
سلام
دوست من شما خوب متوجه کد نشدید دراین کد برای نمونه تستی برای تشخیص 3 شی کاملا متفاوت ( 2 عدد Button و یک عدد Label) تنها از یک Click استفاده شده و در sender از میزان tag هر یک میتوانید بعد تحلیلهای دیگری را انجام دهید در واقع در یک مثال واقعی مثل داخل یک گزارش ساز پویا قابلیت تحلیل خواهید داشت


PublicClass Form1PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load
Me.Label1.Tag = "L1"
Me.Button1.Tag = "B1"
Me.Button2.Tag = "B2"
EndSub
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click, Label1.Click, Button2.Click
Me.Text = sender.tag
EndSub
EndClass

rezaei manesh
چهارشنبه 01 خرداد 1387, 16:27 عصر
تا حدودی متوجه شدم اما هنوز نمی تونم تو برنامه هایی که می نویسم جایی براش پیدا کنم ؟! اما به هر حال ممنونم
الان می دونم کارش چیه شاید در آینده بکارم بیاد
با تشکر