1 ضمیمه
چگونگی تعمیم کدها در سی شارپ
با سلام خدمت استادان سی شارپ
من یک برنامه نوشتم که برای به دست اوردن یک عدد(مجموع) سه عدد تکس باکس قرار دارد که از دو رنج خاص عدد می گیریند این دو تکس باکس
می خواستم این خاصیت را به تعداد 300 ردیف دیگه(کادر مشکی یک ردیف است) تعمیم بدم . انجام به صورت تکی خیلی سخته. ممنون میشم کسی راهنمایی کنه به چه صورت این کار و انجام بدم
این عکس
ضمیمه 149379
اینم کدایی که نوشتم
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication17
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
System.Random rnd = new System.Random();
int a1, a2, a3;
int t1 = Convert.ToInt32(textBox1.Text);
int t2 = Convert.ToInt32(textBox2.Text);
int t3 = Convert.ToInt32(textBox7.Text);
int t4 = Convert.ToInt32(textBox8.Text);
int sum = Convert.ToInt32(textBox3.Text);
a1 = rnd.Next(t1, t2);
a2 = rnd.Next(t3, t4);
a3 = sum - (a1 + a2);
textBox4.Text = a1.ToString();
textBox5.Text = a2.ToString();
textBox6.Text = a3.ToString();
}
private void textBox7_TextChanged(object sender, EventArgs e)
{
}
}
}
نقل قول: چگونگی تعمیم کد ها در سی شارپ
نقل قول: چگونگی تعمیم کد ها در سی شارپ
شما میتونید با استفاده از کد نویسی و در زمان اجرای برنامه TextBox ایجاد کنید و Handler رو هم معرفی کنید و اگر هم تعداد زیادی TextBox دارید میتونید از Panel و یا هر Container مناسبتری استفاده کنید و در زمان جمع زدن مقادیر با استفاده از حلقه در بین تمام TextBox ها، مقادیرشون رو بگیرید و جمع کنید.
نقل قول: چگونگی تعمیم کد ها در سی شارپ
دوست عزیز فکر خوبیه که بشه هنگام اجرای برنامه تکست باکس ایجاد کرد مثلا با زدن تعداد 300 تا تکس باکس . این تعدادو بسازه و یک فرمول بتوان براشون یه گوشه نوشت. ولی از درک من این کار خارجه غیر از اینکه یک نمونه کار ببینم و شبیهش بزنم. ممنون میشم راهنمایی بفرمایید(ما از مبتدی هم مبتدی تریم):لبخند:
حقیقتا من باید برای 1000 تا عدد این کار رو انجام بدم ولی نمیدونم
ممنون میشم کسی کمک کنه
1000 تا تکس باکس مجموع)هست که جمع چند تکس باکس هست. باید به صورت تصادفی اعدادی(مثلا اعداد 1-2-3-4) در این چند تکس باکس قرار بگیره که جمعشون بشه( تکس باکس مجموع)
توی پست قبلی من فقط یه دونه ساختم و 1000 تا سخته.
نقل قول: چگونگی تعمیم کد ها در سی شارپ
پس زحمت بکش یکم مسئله رو واضحتر بگو تا ببینم چقدر میتونم کمکت کنم. کمی این توضیحات مبهم هستند.
نقل قول: چگونگی تعمیم کد ها در سی شارپ
اما برای افزودن textbox با استفاده از کد یک فرم ایجاد کن و یک Flow Layout Panel روی فر قرار بده و ویژگی AutoScroll رو True تظیم کن. حالا یه دکمه هم به فرم اضافه کن و کد زیر رو تو رویداد کلیک دکمه بنویس:
TextBox txt = new TextBox() ;
txt.BackColor = Color.White;
this.flpTextBox.Controls.Add(txt);
با هر بار کلیک، برنامه یک TextBox اضافه میکنه. این رو به عنوان مرحله اول دنبال کن و پارامترهای خودت رو اعمال کن
نقل قول: چگونگی تعمیم کد ها در سی شارپ
سلام
عدد مجموع برای همه ردیف ها مقدار ثابتی هست؟
نقل قول: چگونگی تعمیم کد ها در سی شارپ
خیر مقدار ثابتی نیستند.ولی ممکنه تکراری باشند
نقل قول: چگونگی تعمیم کد ها در سی شارپ
درسته با این فرض که تکست باکس هم درست شد چه طوری بگم که عدد مجموع برابر با اعداد تصادفی باشند که در سه تکست باکس باشه.البته برای یه دونه خودم زدم .برای تعمیم به 1000 تا مشکل دارم
نقل قول: چگونگی تعمیم کد ها در سی شارپ
خب حالا بفرمایید سه عدد تصادفی بعد از مقادیر موجود در 1000تا textbox باید تعیین بشوند و یا اینکه مقادیر 1000تا textbox بعد از تعیین سه عدد تصادفی مشخص می شوند؟
1 ضمیمه
نقل قول: چگونگی تعمیم کد ها در سی شارپ
نقل قول:
نوشته شده توسط
mmbguide
خب حالا بفرمایید سه عدد تصادفی بعد از مقادیر موجود در 1000تا textbox باید تعیین بشوند و یا اینکه مقادیر 1000تا textbox بعد از تعیین سه عدد تصادفی مشخص می شوند؟
ضمیمه 149386
تو این عکس سعی کردم کامل توضیح بدم
1- 1000 تا عدد داریم
2- برای هر عدد 3 ستون هست
3- رنج عدد داریم
این اعداد 1000 تا از قبل مشخص شدند و در یک ستون قرار دارند که میشه ستون مجموع
سه ستون دیگه هست که باید اعداد تصادفی از رنج مشخص درون اونا قرار بگیره و حاصل جمعشون برابر با عدد مجموع باشه
============
یه نکته که خیلی هم اهمیت داره اگه داینامیک باشه خیلی عالی میشه مثلا قابلیت تغیر رنج، تغیر تعداد تکس های تصادفی از سه تا به هر تعداد و افزایش و کاهش تعداد ردیف ها
امیدوارم خوب منظورم را رسونده باشم
1 ضمیمه
نقل قول: چگونگی تعمیم کد ها در سی شارپ
سلام
این نمونه رو ببینید (البته برای هزار آیتم خطا میده (به خاطر تولید این تعداد کنترل)
برای شبیه سازی اعداد مجموع شما ، یک متد نوشتم به اسم GenerateSums ، که به تعداد پارامتر ورودی ، اعداد تصادفی در رنج 200 الی 1000 تولید میکنه
بقیه ورودی ها ، اعم از تعداد انجام این عمل و رنج های ستون اول و دون رو هم در فرم ، از کاربر دریافت میکنم.
احتمالا کارتون راه خواهد افتاد ، یا دست کم ایده بهتون میده.
نقل قول: چگونگی تعمیم کد ها در سی شارپ
اگر الزامی در مورد استفاده از تکست باکس ندارید ، می تونید همین کار رو در یک دیتاگرید انجام بدید که محدودیتی هم برای تعدادش نداشته باشه و برنامه روانتر و سریعتر اجرا بشه
نقل قول: چگونگی تعمیم کد ها در سی شارپ
سلام. دیدم خیلی عالیه فقط این وسط یه مشکل هستد . اونم اینه که مجموع را من باید بدم نرم افزار طبق اون عدد های تصادفی را بارگزاری کنه
------
یه نکته دیگه هم که هست. با دیتا گرید ویو اصلا مشکلی ندارم. تو اون زمینه اگه بشه که خیلی بهتره
بابت این که وقت گذاشت بی نهایت سپاسگزارم
نقل قول: چگونگی تعمیم کدها در سی شارپ
خب مجموع رو خودتون بدید ، به جای اون کدی که من نوشتم تا یکسری عدد بعنوان مجموع تولید کنه
قرار نبوده و نیست که ما به جای شما برنامه بنویسیم ، خودتون هم باید یک تلاش کوچکی بفرمائید ، تغییر دادن کد بالا خیلی سادست
نقل قول: چگونگی تعمیم کد ها در سی شارپ
تشکر متوجه شدم. دارم روش کار میکنم بازم تشکر از وقتی که گذاشتید. خیلی ارزشمند بود