• اگر سمپادی هستی همین الان عضو شو :
    ثبت نام عضویت

آرایه ای از اشیا در VB.net

  • شروع کننده موضوع
  • #1

mohpooria

کاربر فوق‌فعال
ارسال‌ها
102
امتیاز
13
نام مرکز سمپاد
شهید بهشتی کاشان
یرای ساخت آرایه ای از اشیا در VB.net چه راه حل هایی دارید؟؟

نمونه کد های خود را هم بگذارید؟
مثلا یه مربع 10*10 از button که بشه کنترلش هم کرد
 

trustme

لنگر انداخته
ارسال‌ها
2,810
امتیاز
899
نام مرکز سمپاد
شهید بهشتی
شهر
کاشان
سال فارغ التحصیلی
1387
دانشگاه
دانشگاه خواجه نصیر طوسی
رشته دانشگاه
مهندسی مکانیک
پاسخ : آرایه ای از اشیا در VB.net

من اینطوریا می نویسم :

کد:
Public Class Form1

    Dim ContArr(25) As MYConts

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        For i As Integer = 0 To 25
            ContArr(i) = New MYConts
            ContArr(i).Owner = Me
            ContArr(i).ID = i
            ContArr(i).Text = CStr(i)
            Me.Controls.Add(ContArr(i))
            ContArr(i).Location = New Size((i Mod 5) * 100, (i \ 5) * 100)
            ContArr(i).Visible = True
        Next

    End Sub

    Public Sub ContClicked(ByVal id As Integer)
        'Here goes your code! :D
        MsgBox("Clicked on" + CStr(id))
    End Sub

End Class

Public Class MYConts
    Inherits Windows.Forms.Button
    Public Owner As Form1
    Public ID As Integer

    Private Sub MYConts_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
        Owner.ContClicked(ID)
    End Sub
End Class

یه کلاس ساختیم به نام MYConts که خصوصیت button رو ارث می بره... هنگام ساختش هم یه Form1 بهش می دیم چون بعدا می خوایم یکی از توابع Form1 که مربوط به کلیک کردن روی اون دکمه هاست رو فراخوانی کنیم ... موقع ساخت هم که معلومه داره چیکار می کنه ... توی حلقه ی For داره (یه جدید) می سازه و اونر و آی.دی رو ست می کنه و کپشن یا همون text رو می ذاره و Control رو به Form1 اضافه می کنه و تنظیمات نمایش رو درست می کنه و صلوات :D

راه حل بهتر !!؟
 

trustme

لنگر انداخته
ارسال‌ها
2,810
امتیاز
899
نام مرکز سمپاد
شهید بهشتی
شهر
کاشان
سال فارغ التحصیلی
1387
دانشگاه
دانشگاه خواجه نصیر طوسی
رشته دانشگاه
مهندسی مکانیک
پاسخ : آرایه ای از اشیا در VB.net

البته این کد هم یه جاهایی به درد می خوره ...
کد:
Dim withEvents Btn as Button
.....

این کد دقیقا مثه اینه که یه Button به نام btn در زمان طراحی درست کردی و می تونی به راحتی برای Event هاش کد بنویسی ...

* شاید به دردت خورد :D
 
  • شروع کننده موضوع
  • #4

mohpooria

کاربر فوق‌فعال
ارسال‌ها
102
امتیاز
13
نام مرکز سمپاد
شهید بهشتی کاشان
پاسخ : آرایه ای از اشیا در VB.net

میشه آرایه را Public تعریف کرد؟
اگه خواستیم اندازه آرایه را تغییر بدیم چی? (استفاده از public)
 
  • شروع کننده موضوع
  • #5

mohpooria

کاربر فوق‌فعال
ارسال‌ها
102
امتیاز
13
نام مرکز سمپاد
شهید بهشتی کاشان
پاسخ : آرایه ای از اشیا در VB.net

name همه میشه button 1 ؟
خداییش من تازه اومدم .net یاد بگیرم با vb.6 خیلی فرق کرده میگن دوباره ماکرو سافت می خواد در VS2010 تغییر بده ای خدا!!

من با لینوکس در Qt خیلی راحت کار می کردم!
آقای مدیر بذرکار جان خان (ویرایش) راستی دستت درد نکنه

اینجا را توضیح میدی که چرا NEW Size دادی؟
نمیشه مثل 6 x و yاستفاده کرد؟
 

trustme

لنگر انداخته
ارسال‌ها
2,810
امتیاز
899
نام مرکز سمپاد
شهید بهشتی
شهر
کاشان
سال فارغ التحصیلی
1387
دانشگاه
دانشگاه خواجه نصیر طوسی
رشته دانشگاه
مهندسی مکانیک
پاسخ : آرایه ای از اشیا در VB.net

به نقل از سید پوریا محتشمی :
میشه آرایه را Public تعریف کرد؟
اگه خواستیم اندازه آرایه را تغییر بدیم چی? (استفاده از public)
هرکاری با متغیر می کردی خوب بازهم می شه با آرایه کرد ... فقط اینمه آرایه ی دوبعدی رو نمی شه redim کرد ... من برای این کار یه آرایه ی یه بعدی از یه کلاس که یه آرای توی خودش داره استفاده می کنم؛ حال می ده :D
به نقل از سید پوریا محتشمی :
name همه میشه button 1 ؟
خداییش من تازه اومدم .net یاد بگیرم با vb.6 خیلی فرق کرده میگن دوباره ماکرو سافت می خواد در VS2010 تغییر بده ای خدا!!

من با لینوکس در Qt خیلی راحت کار می کردم!
ممد راستی دستت درد نکنه

تینجا را توضیح میدی که چرا NEW Size دادی؟
نمیشه مثل 6 x و yاستفاده کرد؟
ممد هم.... :D
New Size() مثه همون new Point() یه ایکس و وای می گیره ... .location نوشتم یه چیزی یاد بگیری :D
Me.location+= new point(10,10) هم کد خوبیه :D
همچنین می تونی Me.left رو مقدار بدی ... همچنین Me.location.x رو :D
 
بالا