PDA

View Full Version : سوال: سوال در مورد لود عکس با آیتم های لیست باکس



reza.k1375
جمعه 01 مهر 1390, 09:19 صبح
سلام. من یه لیست باکس دارم که چند آیتم داره. کدش هم به صورت زیر است.
من میخوام که وقتی رویه یه اسم خاص مثلا روی رضا کلیک میکنی عکس رضا رو نشون بده و وقتی که روی علی کلیک میکنی عکس علی رو نشون بده.
لطفا کمک کنید.........
Option Explicit

Const LB_FINDSTRING = &H18F

Private Sub Form_Load()

With List1
.Clear
.AddItem "naser"
.AddItem "yaghub"
.AddItem "vahid"
.AddItem "arash"
.AddItem "saeid"
.AddItem "mohamad"
.AddItem "hosein"
.AddItem "reza"
.AddItem "ali"
End With

End Sub

محسن واژدی
جمعه 01 مهر 1390, 09:46 صبح
سلام علیکم
روش های مختلفی وجود دارد، به عنوان مثال قرار دادن شماره عکس در متد ItemData لیست باکس، قرار دادن مسیر تصاویر در آرایه با کالکشن و نظیر اینها که برای دستیابی به محتویات آنها از شماره ListIndex آیتم انتخاب شده گرفته میشود و یا استفاده از دیکشنری.

موفق باشید

reza.k1375
جمعه 01 مهر 1390, 09:58 صبح
میشه با کد نشون بدید؟؟؟

محسن واژدی
جمعه 01 مهر 1390, 10:02 صبح
همچنین روش دیگر که میتواند ساده تر هم باشد استفاده از آیتم انتخاب شده در نمایش تصویر است،
کد زیر را بررسی کنید:

Option Explicit

Private Sub Form_Load()

With List1
.Clear
.AddItem "naser"
.AddItem "yaghub"
.AddItem "vahid"
.AddItem "arash"
.AddItem "saeid"
.AddItem "mohamad"
.AddItem "hosein"
.AddItem "reza"
.AddItem "ali"
End With

End Sub

Private Sub List11_Click()
Me.Picture = LoadPicture(App.Path & "\" & List1 & ".jpg")
End Sub


موفق باشید

reza.k1375
شنبه 02 مهر 1390, 13:22 عصر
خب حالا اگه بخوام که اون عکس رو توی یه PictureBox لود بشه چه کدی میخواد؟؟؟

محسن واژدی
شنبه 02 مهر 1390, 14:48 عصر
بجای Me نام PictureBox خود را جایگزین کنید
موفق باشیذ

reza.k1375
شنبه 02 مهر 1390, 16:29 عصر
ممنون آقا محسن. حالا ببخشید یه سوال دیگه هم دارم...
چه طوری میشه عکس Listbox رو تغییر داد..؟؟؟
منظورم همون زمینه ی list است...
مثلا برای تغییر عکس فرم در قسمت خاصیت هاش picture رو انتخاب میکنی و عکس مورد نظرت!!
حالا واسه لیست چه طور؟؟؟

محسن واژدی
شنبه 02 مهر 1390, 17:36 عصر
سلام
امکان قرار دادن تصویر در listbox وی بی وجود ندارد

موفق باشید

masoudx7
سه شنبه 10 آبان 1390, 19:57 عصر
اگه دو تا لیست باکس داشته باشیم بعد بخواییم با انتخاب یک ارایه از یه ستون(سوال ) و انتخاب یه ارایه ی دیگه(جواب ) از ستون بعدی یه عکس نمایش داده بشه باید چیکار کرد؟؟؟؟!!!!!؟؟؟؟

mr-adler
چهارشنبه 11 آبان 1390, 00:26 صبح
سلام
من فقط روش جناب واژدی رو تعمیم و گسترش دادم روش تازه ای نیست:
(این روش به این صورته که اسم فایل رو از لیست باکس میخواد...)

Private Sub Command2_Click()
List1.Clear
List2.Clear
List1.AddItem "re"
List2.AddItem "d"
If Dir(App.Path & List1.List(0) & List2.List(0) & ".jpg", vbReadOnly + vbDirectory + vbNormal) <> "" Then

Image1.Picture = LoadPicture(App.Path & List1.List(0) & List2.List(0) & ".jpg")
Else
MsgBox "not exist"
End If
End Sub

اما روش دوم:
در این روش باید مشخص شود که کدوم ایتم از لیست اول با کدوم ایتم از لیست دوم باید با هم انتخاب بشوند:
مثلا شما از قبلا به برنامه مگید که و قتی ایتم چهارم از لیست اول و ایتم اول از لیست دوم انتخاب شد تصویر رو نشون بده:

Private Sub Command3_Click()
a = List1.ListIndex
b = List2.ListIndex
If a = 4 And b = 1 Then
Image1.Picture = LoadPicture("e:\red.jpg")
End If
End Sub

البته باید باز هم روی کد های ذکر شده کار کرد تا دقیقا بشه چیزی که میخواهید...
موفق باشید .

masoudx7
چهارشنبه 11 آبان 1390, 23:44 عصر
بازم مشکل حل نشد.

mr-adler
پنج شنبه 12 آبان 1390, 00:33 صبح
سلام
لطفا دقیقا مشکلتون رو بگید تا اگه بنده هم نتونستم دوستان راهنمایی کنند....