PDA

View Full Version : اضافه کردن دکمه به RitchTexBox?



امیر-نا
پنج شنبه 08 اردیبهشت 1384, 17:14 عصر
با سلام
آیا میشه که به داخل یک ritchTextBox یک دکمه اضافه کرد؟


ممنون
امیر

یاشار
پنج شنبه 08 اردیبهشت 1384, 18:17 عصر
بله میشه ، یه راه ساده‌اش اینکه که یه دکمه از ToolBox بردارید بندازید تویRTB
ولی اگر بخواهین دگمه به اسکرول بار بالا پایین بشه ... یه خورده کار داره.

راه حل ساده به درد نخور:




Dim btnRTB As New Windows.Forms.Button
btnRTB.Name = "btn1"
btnRTB.Text = "Click me"

btnRTB.Top = ....
btnRTB.Width = ....
btnRTB.Height = ....

RTB.Controls.Add(btnRTB)
AddHandler btnRTB.Click , address of SomeDelegate .... long story



حالا اگه اشکالی نداره میتونم بپرسم چه کاری میخواهین انجام بدین ؟

امیر-نا
یک شنبه 11 اردیبهشت 1384, 20:44 عصر
با سلام
ممنون از جوابتون
میشه بگین چه جوری به این دکمه کار انتساب داد

ممنون امیر

یاشار
یک شنبه 11 اردیبهشت 1384, 22:58 عصر
میشه بگین چه جوری به این دکمه کار انتساب داد



اگر منظورتون از انتساب، یک EventHandler هست که بتونه Click Event رو اداره کنه، باید با استفاده از دستور AddHandler این Event رو به یک روتین در برناممون مربوط کنیم. اون روتین رو قبل از هر کاری ایجاد می‌کنیم و برای اینکه مطمئن بشیم کار می‌کنه یک MesBox توش میذاریم :



Private Sub btn1_Clicked(ByVal sender As Object, ByVal e As EventArgs)

MsgBox("byebye cruel world")

End Sub


بعد متغییری که باید مقدار شیی Button رو نگه داره به همراه withevents در سطح فرم (خارج از همه روتین‌ها و فانکشن‌ها) تعریف می‌کنیم




Dim WithEvents btn As Windows.Forms.Button


بعد هر جای برنامه که می‌خواهیم این دکمه به فرم اضافه بشه، یک نمونه ازش درست میکنیم و اجرا می‌کنیم.



btn = New Windows.Forms.Button

btn.Name = "btn1"
btn.Text = "Hello"
btn.Top = 0
btn.Left = 0

AddHandler btn.Click, AddressOf btn1_Clicked

Me.RTB1.Controls.Add(btn)


اگر هم منظورتون چیز دیگه‌ایه که یه کم بیشتر توضیح بدین.