PDA

View Full Version : اظافه کردن کنترل در زمان اجرای برنامه روال اون کار نمی کنه



kochol
جمعه 22 آبان 1383, 19:58 عصر
سلام به همه ی دوستان

من یک برنامه با asp.net ساخته ام که در زمان اجرای برنامه تعدادی کنترل imagebutton به یک پانل اضافه می کند (همون گالری لبخند های سایتم ) و همه خاصیت های ان درست کار می کند ولی روال کلیک آن کار نمی کند

من کدی که برای روال کلیک آن نوشته ام را برایتان می زارم نگاه کنید و من را راهنمایی کنید



dim img() as system.web.ui.webcontrols.imagebutton
این کد زیر public class webform1 نوشته شده است

و در روالی که می خواهم کنترل ها اظافه شوند این کد را نوشتم
redim img(25)

و بعد در یک حلقه این را نوشتم
img(c) = new system.web.ui.webcontrols.imagebutton

و بعد در یک حلقه خاصیت های آن را نوشتم و در همان حلقه روال را به کنترل هام دادم
addhandler img(c).click, addressof imgbut_click

و بالاخره روال imgbut_click را نوشتم
private sub imgbut_click(byval sender as object,_
byval e as system.Web.UI.ImageClickEventArgs)
me.visible=false
end sub

kochol
جمعه 22 آبان 1383, 19:59 عصر
سلام

والا من مخم سوت کشید از بس روی این مسله فکر کردم ولی جواب نداد

من به چند تا راه هم رسیدم ولی بازم هیچ

اگر اینطوری تعریف کنم درست میشه


dim withevents imagebutton1 as new system.web.ui.webcontrol.imagebutton

ولی یه اشکالی که داره اینه که نمیشه چند تا تعریف کرد

می خواستم ببنم آیا راهی هست که بتوان این خاصیت چیه همین withevents رو به تک تک ان ها بدم یا نه

kochol
جمعه 22 آبان 1383, 20:00 عصر
private sub imgbut_click(byval sender as object,_
byval e as system.Web.UI.ImageClickEventArgs)
me.visible=false
end sub


البته فهمیدم که این کد یه اشکال هم داره و اون این است که بجای sender as object باید از این استفاده می کردم sender as system.object که بازم مشکلم حل نشد

kochol
جمعه 22 آبان 1383, 20:01 عصر
اوه راستی یادم رفت که اینرو بگم

روال کلیک دکمه تصویری زیاد به کارم نمی یاد چون نمی فهمیدم کدوم تصویر کلیک شده ولی با روال command که همان کار کلیک رو میکنه می تونم بفهمم که کدوم بوده البته از طرف خاصیت commandname که باید اول یک اسم به این خاصیت بدهی و بعد می تونی از روال زیر استفاده کنی و با خاصیت e.commandname در روال بفهمی که کدوم بوده

mes
جمعه 22 آبان 1383, 23:29 عصر
سلام به همه ی دوستان

من یک برنامه با asp.net ساخته ام که در زمان اجرای برنامه تعدادی کنترل imagebutton به یک پانل اضافه می کند (همون گالری لبخند های سایتم ) و همه خاصیت های ان درست کار می کند ولی روال کلیک آن کار نمی کند

من کدی که برای روال کلیک آن نوشته ام را برایتان می زارم نگاه کنید و من را راهنمایی کنید



dim img() as system.web.ui.webcontrols.imagebutton
این کد زیر public class webform1 نوشته شده است

و در روالی که می خواهم کنترل ها اظافه شوند این کد را نوشتم
redim img(25)

و بعد در یک حلقه این را نوشتم
img(c) = new system.web.ui.webcontrols.imagebutton

و بعد در یک حلقه خاصیت های آن را نوشتم و در همان حلقه روال را به کنترل هام دادم
addhandler img(c).click, addressof imgbut_click

و بالاخره روال imgbut_click را نوشتم
private sub imgbut_click(byval sender as object,_
byval e as system.Web.UI.ImageClickEventArgs)
me.visible=false
end sub

Private Sub ib_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Button1.Visible = False
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ib As Button
ib = New Button()
ib.Text = "mahdi"
ib.Top = 0
ib.Left = 0
Me.Controls.Add(ib)
AddHandler ib.Click, New System.EventHandler(AddressOf ib_Click)
End Sub


Ok?

mes
جمعه 22 آبان 1383, 23:45 عصر
مثلا برا اینکه بدونید کدوم کلیک شده تو تگش با تول تیپش میتونید شماره عکس رو وارد کنید و بعد ازش استفاده کنید .

kochol
یک شنبه 24 آبان 1383, 10:02 صبح
سلام

از وقتی که برای جواب دادن به سوال من صرف کردید ممنونم :flower:

ولی که در نوشتن برنامه های وب دکمه نمی تواند مانند برنامه های ویندوز عکس نشان دهد و باید از کنترل دیگری بنام ImageButton استفاده کنیم.

که ببین این کنترل اینطوری کار می کند


Dim WithEvents imgbut1 As New System.Web.UI.WebControls.ImageButton

#Region " Web Form Designer Generated Code "


Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
imgbut1.ImageUrl = "http://smileys.smileycentral.com/cat/36/36_1_1.gif"
imgbut1.CommandName = 1

AddHandler imgbut1.Command, AddressOf imgbut_com
Panel1.Controls.Add(imgbut1)
end sub

Private Sub imgbut_com(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.CommandEventArgs)
TextBox1.Text = 25
End Sub


WithEvents

این چیه که پدر منو دراورده :sad2:

http://smileys.smileycentral.com/cat/36/36_1_4.gif

mes
دوشنبه 25 آبان 1383, 00:04 صبح
منظور از ib - همون آبجکتی که درست میشه تو کد بالا Image Button میباشد . منظور من طریق نشان دادن عکس نبوده بلکه موضوع آبجکت داینامیک بوده. ok?
یا علی
التماس دعا

mes
دوشنبه 25 آبان 1383, 00:09 صبح
راستی این کد بالایی کار نمیکنه بازم؟(اونی که نوشتین)

kochol
دوشنبه 25 آبان 1383, 18:52 عصر
Dim WithEvents imgbut1 As New System.Web.UI.WebControls.ImageButton
چرا اگه اینطوری تعریفش کنی می یاد

kochol
دوشنبه 25 آبان 1383, 21:57 عصر
مثلا برا اینکه بدونید کدوم کلیک شده تو تگش با تول تیپش میتونید شماره عکس رو وارد کنید و بعد ازش استفاده کنید .

یه راه آسون تر اینه که این کار رو بکنی


If Sender Is Button 1 Then