PDA

View Full Version : سوال: شما چطور اینکار رو انجام میدید (چیزی شبیه به اسکرول)



arefba
چهارشنبه 14 مهر 1389, 17:00 عصر
با سلام

من در حال طراحی یه دستگاه هستم
توی برنامه نویسیش به جایی رسیدم به شکل زیر


دکمه" بعدی " پیکچر باکس 1 پیکچر باکس 2 پیکچر باکس 3 دکمه" قبلی"


خوب این مثل اسکرول می مونه
وقتی روی دکمه بعدی کلیک شه باید عکسی که توی پیکچر باکس چهار هست رو نشون بده
و پیکچر باکس یک رو دیگه نشون نده و به ترتیب جای بقیه با پیکچر باکس یک عوض شه

کمک کنید لطفا

babak.h
چهارشنبه 14 مهر 1389, 18:07 عصر
ببینید من درست فهمیدم یا نه

شما 3 تا pictureBox دارید و یک طرف اون ها دکمه "بعدی" و طرف دیگه دکمه "قبلی" که با کلیک روی این دکمه ها، عکس ها عوض میشن (در واقع یه آلبوم عکس)

برنامه زیر رو ببینید :
این کلاس یه فرمه که 3 تا pictureBox داره، دو تا دکمه


public partial class Form1 : Form
{
List<Bitmap> picsList = new List<Bitmap>();
int index1 = 0;
int index2 = 1;
int index3 = 2;

public Form1()
{
InitializeComponent();
picsList.Add(pictureAlbum.Properties.Resources._1) ;
picsList.Add(pictureAlbum.Properties.Resources._2) ;
picsList.Add(pictureAlbum.Properties.Resources._3) ;
picsList.Add(pictureAlbum.Properties.Resources._4) ;
picsList.Add(pictureAlbum.Properties.Resources._5) ;
picsList.Add(pictureAlbum.Properties.Resources._6) ;
picsList.Add(pictureAlbum.Properties.Resources._7) ;
}

void goNext()
{
if (index1 < picsList.Count - 1) index1++;
else index1 = 0;
if (index2 < picsList.Count - 1) index2++;
else index2 = 0;
if (index3 < picsList.Count - 1) index3++;
else index3 = 0;
}

void goPrevious()
{
if (index1 > 0) index1--;
else index1 = picsList.Count - 1;
if (index2 > 0) index2--;
else index2 = picsList.Count - 1;
if (index3 > 0) index3--;
else index3 = picsList.Count - 1;
}

void loadPictures()
{
pictureBox1.Image = picsList[index1];
pictureBox2.Image = picsList[index2];
pictureBox3.Image = picsList[index3];
}

private void Form1_Load(object sender, EventArgs e)
{
loadPictures();
}

private void btnNext_Click(object sender, EventArgs e)
{
goNext();
loadPictures();
}

private void btnPrevious_Click(object sender, EventArgs e)
{
goPrevious();
loadPictures();
}
}

به همین سادگی!

در ضمن این کد رو من اینطوری نوشتم که عکس ها می چرخند یعنی وقتی به آخر میرسید با زدن دکمه بعدی ، عکس اول نمایش داده می شود.

اگر توضیح بیشتری خواستید بگید

موفق باشید

arefba
چهارشنبه 14 مهر 1389, 19:52 عصر
شما 3 تا pictureBox دارید و یک طرف اون ها دکمه "بعدی" و طرف دیگه دکمه "قبلی" که با کلیک روی این دکمه ها، عکس ها عوض میشن (در واقع یه آلبوم عکس)

تقریبا همینطوره
ولی تعداد عکس هایی که در لحضه اول نشون میده 4 تاست و تعداد کل پیکچر باکس ها 10 تا کد ساده تری نیست براش ؟؟؟

arefba
پنج شنبه 15 مهر 1389, 02:37 صبح
واقعا راه دیگه ای ندارم ؟