PDA

View Full Version : سوال: تولید تعداد نامعلوم دکمه



eminem_13
سه شنبه 25 آبان 1389, 23:16 عصر
سلام
من نیاز دارم تعداد نامعلومی button در صفحه فرم ایجاد کنم.به همین منظور نمیتوانم از tool box استفاده کنم و باید کد بزنم. مشکل بنده سر ایجاد button است, کدی که استفاده می کنم به شرح زیر است که بعد از اجرا کردن برنامه هیچ نتیچه ای نمیدهد, لطفا راهنمایی کنید(فقط کد ایجاد button را می خواهم)

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim btn As Object = New System.Windows.Forms.Button
btn.location = New System.Drawing.Point(50, 50)
btn.name = "btn"
btn.size = New System.Drawing.Size(70, 70)
btn.tabindex = 0
btn.Text = "btn"
btn.UseVisualStyleBackColor = True

End Sub

End Class

Ghaisard
چهارشنبه 26 آبان 1389, 01:31 صبح
سلام

شما همه‌ي خاصيت‌هاي Button رو تعريف كردي ولي Add نكردي
در انتها بايد كد زير رو هم اضافه كني :



Me.Controls.Add(btn)

nosrati1363
چهارشنبه 26 آبان 1389, 02:11 صبح
سلام
سوالت کامل نیست . قراره واسه چی کنترل ها با کد نویسی اضافه بشن ؟ . اگه میخوای راه اضافه کردن button رو بدونی اولا باید بگم این چیزی که شما نوشتین افزودن Button در Design Time بوده و اگه به رویداد Initialize فرمت یه نگاه بندازی متوجه میشی که دقیقا همین کدی که قصد داری در رویداد Load بنویسی با اضافه کردن هر Button به فرم به صورت خود کار تولید میشه . و به محض بار گزاری فرمت به همراه اولین نمایش Button هم وجود داره . پس چه کاریه :متفکر: چرا Button ها رو از ToolBox اضافه نکنی؟ ( اما خوب کدش رو هم میدم تا بهتر یاد بگیری )



Public Class Form2
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim btn1 As New Button
btn1.Location = New Point(0, 0)
btn1.Text = "Click 1!"
AddHandler btn1.Click, AddressOf DynamicClick
Dim btn2 As New Button
btn2.Location = New Point(0, 20)
btn2.Text = "Click 2!"
AddHandler btn2.Click, AddressOf DynamicClick

Me.Controls.Add(btn1)
Me.Controls.Add(btn2)
End Sub

Private Sub DynamicClick(ByVal sender As Object, ByVal e As EventArgs)
Dim btn As Button = CType(sender, Button)
MsgBox("You clicked " + btn.Text)
End Sub
End Class

حالا اگه قراره در Run Time این اتفاق بیفته میشه منطقی تر . مثلا قراره با زدن یک دکمه ارتفاع فرمت بیشتر بشه و یک سری کنترل ( هرچی دوست داری ) به فرمت اضافه بشه و کارهایی رو برات انجام بده این فرق میکنه . یه مثال کامل برات میذارم حالشو ببری
(هر کی حالشو برد تشکر کنه تا منم کیفم کوک شه:لبخند:)

محسن شامحمدی
چهارشنبه 26 آبان 1389, 07:47 صبح
سلام
من نیاز دارم تعداد نامعلومی button در صفحه فرم ایجاد کنم.به همین منظور نمیتوانم از tool box استفاده کنم و باید کد بزنم. مشکل بنده سر ایجاد button است, کدی که استفاده می کنم به شرح زیر است که بعد از اجرا کردن برنامه هیچ نتیچه ای نمیدهد, لطفا راهنمایی کنید(فقط کد ایجاد button را می خواهم)

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim btn As Object = New System.Windows.Forms.Button
btn.location = New System.Drawing.Point(50, 50)
btn.name = "btn"
btn.size = New System.Drawing.Size(70, 70)
btn.tabindex = 0
btn.Text = "btn"
btn.UseVisualStyleBackColor = True

End Sub

End Class




شما الان این کلاس رو توی ram تعریف کردید.
تنها کاری که نکردید اینه که این رو به کنترل های فرم اضافه کنید.

Me.Controls.Add(btn)

reza_edu
چهارشنبه 26 آبان 1389, 09:19 صبح
سلام
یه کم راحت تر



dim num as integer
n=Val(Textbox1.text)
Dim Btn(n) as Button
Me.Control.Add(Btn(0))