PDA

View Full Version : ساختن کنترل هایی در زیر فرم جای میگیرند(مثل timer)



Daren_the_Devil
یک شنبه 07 بهمن 1386, 11:50 صبح
یک سوال : چطوری میشه کنترل هایی مثل Timer و NotifyIcon ساخت که به جای توی فرم زیر فرم و در اون نوار باریک قرار میگیرند ؟

seeker
یک شنبه 07 بهمن 1386, 12:05 عصر
کنترل هایی که ویژوال نیستند مثل تایمر دیتا ست تیبل آداپتر و..... اصلا جاشون او پایینه و جای دیگه ای نمیتونن باشن. وقتی شما این کنترل ها رو ادد میکنی خودشون میرن اونجا

Daren_the_Devil
یک شنبه 07 بهمن 1386, 14:12 عصر
من میخوام بدونم چطوری میشه از اون کنترل ها ساخت

saeed_rezaei
یک شنبه 07 بهمن 1386, 14:56 عصر
من میخوام بدونم چطوری میشه از اون کنترل ها ساخت
به نظر من اینها component هستند. کاملا شبیه به usercontrol اما رابط گرافیکی ندارن. وقتی دارید usercontrol می سازید به صورت پیش فرض از فضای نام usercontrol به ارث می رن اون رو به component تغییر بدید.

Dariuosh
یک شنبه 07 بهمن 1386, 15:44 عصر
میتونی از


Inherits System.ComponentModel.Component

استفاده کنی ولی همه چیزاشو خودت باید بنویسی ،
عملاً خیلی سخته چون حتی ایونتاشو هم خودت باید تعریف کنی

اَرژنگ
یک شنبه 07 بهمن 1386, 16:11 عصر
میتونی از


Inherits System.ComponentModel.Component

استفاده کنی ولی همه چیزاشو خودت باید بنویسی ،
عملاً خیلی سخته چون حتی ایونتاشو هم خودت باید تعریف کنی
تعریف کردن ایونتها سخته؟

Dariuosh
یک شنبه 07 بهمن 1386, 20:16 عصر
تعریف کردن ایونتها سخته؟
به نظر من سخته چون باید یه رخدادو خودت درس کنی ، مگر اینکه از رخدادهای یه کامپوننت دیگه استفاده کنی تازه اینتوریم همچین ساده نیست!

saeed_rezaei
یک شنبه 07 بهمن 1386, 21:35 عصر
ولی همه چیزاشو خودت باید بنویسی ،
عملاً خیلی سخته چون حتی ایونتاشو هم خودت باید تعریف کنی

به قول استادمون، آب خوردن هم می تونه بعضی وقتها سخت بشه.
اما به نظر من، همه سختی ها به سختی خوردن آب نیست.
نوشتن ایونتها و رخدادها، به این غلظت سخت نیست. فقط برای بار اول می تونه وقتت رو بگیره

Dariuosh
دوشنبه 08 بهمن 1386, 00:03 صبح
PublicClass MyComponent
Inherits System.ComponentModel.Component
Private components As System.ComponentModel.IContainer
WithEvents Timer As System.Windows.Forms.Timer
Event Tick(ByVal sender AsObject, ByVal e As System.EventArgs)
PublicProperty Enable() AsBoolean
Get
Return Timer.Enabled
EndGet
Set(ByVal value AsBoolean)
Timer.Enabled = value
EndSet
EndProperty
PublicProperty Time() As Int32
Get
Return Timer.Interval
EndGet
Set(ByVal value As Int32)
Timer.Interval = value
EndSet
EndProperty
PrivateSub InitializeComponent()
Me.components = New System.ComponentModel.Container
Me.Timer = New System.Windows.Forms.Timer(Me.components)
EndSub

PublicSubNew()
InitializeComponent()
EndSub


PrivateSub Timer_Tick(ByVal sender AsObject, ByVal e As System.EventArgs) Handles Timer.Tick
RaiseEvent Tick(sender, e)
EndSub
EndClass


الان این یه کامپوننت که من از ایونت Tick تایمر توش استفاده کردم

A-Hosseinzadeh
دوشنبه 08 بهمن 1386, 09:29 صبح
میری تو فایل project و روی add component کلیک میکنی و مانند برنامه میتونی به داخل آن یک لیبل و تکس باکس و غیره اد کنی و کد مربوط به آن بنویسی و درآخر build کنی