PDA

View Full Version : سوال: سوال درباره نمایش تصادفی متن در textbox



amirsina23
دوشنبه 08 دی 1393, 19:24 عصر
سلام دوستان
من اگر بخواهم با #C برنامه ای بنویسم که به صورت تصادفی با هر بار باز و بسته شدن (form) دیتا های متفاوتی به صورت تصادفی که از قبل تعیین میکنم نمایش بده چهارچوب کلیش چه جوری میشه ؟

RIG000
دوشنبه 08 دی 1393, 19:32 عصر
http://stackoverflow.com/questions/767999/random-number-generator-only-generating-one-random-number

amirsina23
دوشنبه 08 دی 1393, 19:55 عصر
درسته ولی ماکسیمم مینیمم این برای اعداد هست دیتا های من از نوع استرینگ هست و حروف هستند

khokhan
دوشنبه 08 دی 1393, 20:15 عصر
درسته ولی ماکسیمم مینیمم این برای اعداد هست دیتا های من از نوع استرینگ هست و حروف هستند

.................................................


private void button1_Click(object sender, EventArgs e)
{

List<string> firstNames = new List<string>();
firstNames.Add("سکنجبین");
firstNames.Add("بومادران");
firstNames.Add("نعنا");
firstNames.Add("بلوط");

Random randNum = new Random();
int aRandomPos = randNum.Next(firstNames.Count);

textBox1.Text = firstNames[aRandomPos];
}

amirsina23
چهارشنبه 10 دی 1393, 14:24 عصر
.................................................


private void button1_Click(object sender, EventArgs e)
{

List<string> firstNames = new List<string>();
firstNames.Add("سکنجبین");
firstNames.Add("بومادران");
firstNames.Add("نعنا");
firstNames.Add("بلوط");

Random randNum = new Random();
int aRandomPos = randNum.Next(firstNames.Count);

textBox1.Text = firstNames[aRandomPos];
}


خیلی ممنون این جواب داد برای من ولی حالا اگه بخواهم به عناصری که تصادفی Add میشوند دسترسی پیدا کنم چی کار کنم ؟ مثلا بگم اگه این بود این اتفاق بیافته

آخه چون از این کد برای 6 تکست باکس استفاده میکنم وقتی بار اول رخ میده ممکنه 6 تا دقیقا شیبیه هم بشه یا 2،3 تا شبیه هم بشه میخوام بگم مثلا اگه تکست باکس 1 x بود دیگه تکست باکس 2 x نشه

این کدهام :




private void Form2_Load(object sender, EventArgs e)
{


List<string> dars1 = new List<string>();
List<string> dars2 = new List<string>();
List<string> dars3 = new List<string>();
List<string> dars4 = new List<string>();
List<string> dars5 = new List<string>();
List<string> dars6 = new List<string>();
dars1.Add("x");
dars1.Add("xc");
dars1.Add("xcv");
dars1.Add("xcvb");
dars1.Add("xcvbn");
dars1.Add("xcvbnm");
dars1.Add("xcvbnmm");

//
dars1.Add("x");
dars1.Add("xc");
dars1.Add("xcv");
dars1.Add("xcvb");
dars1.Add("xcvbn");
dars1.Add("xcvbnm");
dars1.Add("xcvbnmm");

//
dars2.Add("x");
dars2.Add("xc");
dars2.Add("xcv");
dars2.Add("xcvb");
dars2.Add("xcvbn");
dars2.Add("xcvbnm");
dars2.Add("xcvbnmm");

//
dars3.Add("x");
dars3.Add("xc");
dars3.Add("xcv");
dars3.Add("xcvb");
dars3.Add("xcvbn");
dars3.Add("xcvbnm");
dars3.Add("xcvbnmm");

//
dars4.Add("x");
dars4.Add("xc");
dars4.Add("xcv");
dars4.Add("xcvb");
dars4.Add("xcvbn");
dars4.Add("xcvbnm");
dars4.Add("xcvbnmm");


//
dars5.Add("x");
dars5.Add("xc");
dars5.Add("xcv");
dars5.Add("xcvb");
dars5.Add("xcvbn");
dars5.Add("xcvbnm");
dars5.Add("xcvbnmm");


//
dars6.Add("x");
dars6.Add("xc");
dars6.Add("xcv");
dars6.Add("xcvb");
dars6.Add("xcvbn");
dars6.Add("xcvbnm");
dars6.Add("xcvbnmm");



//////////////////////////////////////////
/**
Random randNum = new Random();
int aRandomPos = randNum.Next(dars1.Count);
textBox1.Text = dars1[aRandomPos];


Random randNum2 = new Random();
int aRandomPos2 = randNum.Next(dars2.Count);
textBox2.Text = dars2[aRandomPos2];


Random randNum3 = new Random();
int aRandomPos3 = randNum3.Next(dars3.Count);
textBox3.Text = dars3[aRandomPos3];
**/


Random randNum4 = new Random();
int aRandomPos4 = randNum4.Next(dars4.Count);
textBox4.Text = dars4[aRandomPos4];


Random randNum5 = new Random();
int aRandomPos5 = randNum5.Next(dars5.Count);
textBox5.Text = dars5[aRandomPos5];


Random randNum6 = new Random();
int aRandomPos6 = randNum6.Next(dars6.Count);
textBox6.Text = dars6[aRandomPos6];


}

khokhan
چهارشنبه 10 دی 1393, 17:24 عصر
............................:لبخند:
اولا لازم نیس برا هر کدوم یه لیست جدا بنویسی یه لیست بلند بالا تهیه کن و کاری کن که عمرا گزینه تکراری توی هیچ کدوم از تکس باکسها نیاد ، تا اینکه بیای یه بار هم گزینه تکراری رو چک کنی
یه چیزی مثل این :

private void button1_Click(object sender, EventArgs e)
{


ArrayList ar = new ArrayList();
ar.Add("صمصام");
ar.Add("مهوش");
ar.Add("غلام");
ar.Add("سلمان");
ar.Add("قلیچ");
ar.Add("بهاد");
ar.Add("سینا");
ar.Add("فربد");
ar.Add("شهلا");
ar.Add("فرناز");
ar.Add("بادمجان");
ar.Add("خیار");
ar.Add("بلوط");
ar.Add("شلقم");
Random r = new Random();
int index = r.Next(0, ar.Count);


textBox1.Text = ar[index].ToString();
textBox2.Text = ar[index+1].ToString();
textBox3.Text = ar[index+2].ToString();



}

amirsina23
چهارشنبه 10 دی 1393, 18:30 عصر
............................:لبخند:
اولا لازم نیس برا هر کدوم یه لیست جدا بنویسی یه لیست بلند بالا تهیه کن و کاری کن که عمرا گزینه تکراری توی هیچ کدوم از تکس باکسها نیاد ، تا اینکه بیای یه بار هم گزینه تکراری رو چک کنی
یه چیزی مثل این :

private void button1_Click(object sender, EventArgs e)
{


ArrayList ar = new ArrayList();
ar.Add("صمصام");
ar.Add("مهوش");
ar.Add("غلام");
ar.Add("سلمان");
ar.Add("قلیچ");
ar.Add("بهاد");
ar.Add("سینا");
ar.Add("فربد");
ar.Add("شهلا");
ar.Add("فرناز");
ar.Add("بادمجان");
ar.Add("خیار");
ar.Add("بلوط");
ar.Add("شلقم");
Random r = new Random();
int index = r.Next(0, ar.Count);


textBox1.Text = ar[index].ToString();
textBox2.Text = ar[index+1].ToString();
textBox3.Text = ar[index+2].ToString();



}


ممنون عالی راهنمایی کردید 3>

ولی چون من این کد رو در قسمت فرم لود گذاشتم و یک بار هم برای باتن refresh گذاشتم که وقتی روی باتن کلیک بشه یک سری اطلاعات random دیگه داده (یا به عبارتی refresh میشه)میشه ولی چون اینجا متغیر ما از توع integer هست و مقدار کمی رو قبول میکنه هردفعه که بخواد فرم رو ببنده و باز کنه (فرم خودش مادر نیست و از طریق فرم دیگری لود میشه ) و یا از باتن refresh استفاده بشه مقداری که درون متغیر integer قرار میگیره فول میشه و برنامه فورس کلوز میشه ( اون +1 و +2 و ... برای جلوگیری از تکراری شدن عنصر های لیست رو عرص میکنم) این چیزی بود که من از دیباگ کردن برنامه فهمیدم راهی هست که بشه متغییر رو عوض کرد؟ چون عوض میکنم اررور میده و نمیذاره رخداد رندم فقط با integer صورت میگیره ؟