PDA

View Full Version : دسترسي به اشياء داخل يك كنترل



mehdi1357
پنج شنبه 26 شهریور 1388, 07:50 صبح
سلام
من با WebUserControl يك كنترل جديد ايجاد كرده ام كه داري يك تكست باكس مي باشد اين كنترل را روي يك صفحه مي گذارم چگونه مي توانم از اين فرم به اطلاعات داخل تكست باكس دسترسي داشته باشم
مرسي

Behrouz_Rad
پنج شنبه 26 شهریور 1388, 11:03 صبح
برای مقداری از کنترلی که درون User Control قرار داره و قصد داری در برنامه به اون مقدار بدی یا مقدارش رو بخونی، یک Property در User Control تعریف کن.

موفق باشید.

mehdi1357
پنج شنبه 26 شهریور 1388, 11:58 صبح
با تشكر مي شه توضيح بدين چطوري

z_bluestar
پنج شنبه 26 شهریور 1388, 12:04 عصر
public TextBox pp_TextBox1
{
get
{
return TextBox1;
}
}
public Calendar pp_Calendar1
{
get
{
return Calendar1;
}
}


اين Property رو تو User Control تعريف كن و بعد براي دسترسي از ّForm مي توني اين طوري بنويسي:

Label1.Text = "Hello " + UserControlID.pp_TextBox1.Text + "<br />";

mehdi1357
پنج شنبه 26 شهریور 1388, 12:48 عصر
ببخشيد تو كدوم قسمت از User Control اين Property تعريف كنم ميشه توضيح بدهيد تعريفProperty يعني چه و چكار مي كنه

A.S.Roma
پنج شنبه 26 شهریور 1388, 15:08 عصر
شما توی صفحه Design کنترلت که داری تعریف می کنی کلیک راست کن و View Code رو بزن.
بالای متد Page_Load کد های بالا را بنویس.

Property در واقع تعریف می شه تا به فیلدهای Private کلاست دسترسی بدی . دسترسی هم می تونه خواندنی ( Get ) و نوشتنی ( Set ) باشد. البته کارایی های دیگری هم داره که مثلا" توش شرط بذاری که چه مقادیری رو بگیره و ... .

mehdi1357
شنبه 28 شهریور 1388, 08:21 صبح
سلام كد بالا را كه مي نويسم ايراد End of statement expected مي گيرد

mehdi1357
چهارشنبه 01 مهر 1388, 09:28 صبح
با سلام اگه ميشه كد وبي تعريف Property را بگذاريد مرسي

golagha_program
چهارشنبه 01 مهر 1388, 10:29 صبح
با سلام.
اين property يك روش خوب و راحتي است ولي مهمه كه كجا مي خواي ستش كني يا چه وقت مي خواي ازش استفاده كني اين كد با Event و Delegate اين كار رو مي كنه.اگر كارت راه نيفتاد بگو البته من ترجيح مي دم بجاي property يك interface بنويسم.
اين كد براي ارتباط بين دو تا usercontrol هستش كارت راه نيفتاد بهم بگو كه ارتباطاتت بين فرم با كنترل يا كنترل با فرم يا كنترل با كنترل

mehdi1357
چهارشنبه 01 مهر 1388, 14:40 عصر
با سلام
اگه مي شه كد z_bluestar (http://barnamenevis.org/forum/member.php?u=24515) را بازبان vbبراي من بگذاريد من مي خواهم مقداري كه در تكست باكس يوزرنم مي باشد را در يك session ذخيره ودر صفحات ديگر از آن استفاده كنم
مرسي

z_bluestar
چهارشنبه 01 مهر 1388, 15:39 عصر
ايم هم يه property به زبان Vb
Private _text As String
Public Property Text() As String
Get
Return _text
End Get
Set(ByVal value As String)
_text = value
End Set
End Property

Vahid_moghaddam
چهارشنبه 01 مهر 1388, 16:29 عصر
ميشه توضيح بدهيد تعريفProperty يعني چه و چكار مي كنه

شما می تونید به روش زیر عمل کنید:


شما توی صفحه Design کنترلت که داری تعریف می کنی کلیک راست کن و View Code رو بزن.
بالای متد Page_Load کد های بالا را بنویس.


یا می تونید توی یه Ebook یا یه کتاب فارسی یا توی Google ببینید Property چیه و وقتی ازش استفاده می کنید دقیقا بدونید دارید چه کار می کنید. وقتی یک نفر عادت کنه برای یه مساله ساده ای مثل Property مطالعه نکنه، برای مفاهیم پیچیده تر حتما و قطعا دچار مشکل می شه.
موفق باشید