سلام
چطور میتونم یک عدد رو توی تکست باکس بنویسم مثلا" 5 و 5 تا radio button برام رو صفحه ظاهر بشه بدون استفاده از خاصیت visible یعنی می خوام خودش ادد کنه.لطفا" راهنمایی کنید.
سلام
چطور میتونم یک عدد رو توی تکست باکس بنویسم مثلا" 5 و 5 تا radio button برام رو صفحه ظاهر بشه بدون استفاده از خاصیت visible یعنی می خوام خودش ادد کنه.لطفا" راهنمایی کنید.
سلام
از کلاس radio button یه شی بساز . بعد بزار تو یه حلقه for و هر چند بار که تو textbox نوشته شده بود ازش یه شی بساز .
موفق باش
TestApp.rar
پروژه ضمیمه شده است
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsDigit(e.KeyChar) && e.KeyChar != (char)Keys.Back)
e.Handled = true;
}
private void Form1_Load(object sender, EventArgs e)
{
splitContainer1.Panel2.AutoScroll = true;
}
private void button1_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(textBox1.Text.Trim()))
{
foreach (Control control in splitContainer1.Panel2.Controls)
{
if (control is RadioButton)
splitContainer1.Panel2.Controls.Remove(control);
}
int count = Convert.ToInt32(textBox1.Text);
for (int i = 0; i < count; i++)
{
CreatRadioButton(i);
}
}
}
private void CreatRadioButton(int i)
{
var radioButton=new RadioButton
{
AutoSize = true,
Location = new System.Drawing.Point(30, 15 + (i*30)),
Name = "radioButton" + i,
Size = new System.Drawing.Size(85, 17),
TabIndex = 0,
TabStop = true,
Text = @"radioButton" + i,
UseVisualStyleBackColor = true
};
splitContainer1.Panel2.Controls.Add(radioButton);
}
سلام دوست من ، شما میتونین داخل کنترل کنترل button اینو بنویسی
int n = 0;
int b =0;
b = Convert.ToInt32(textBox1.Text);
for (int i = 1; i <= b; i++)
{
RadioButton a = new RadioButton();
n += 90;
this.Controls.Add(a);
a.Size = new System.Drawing.Size(50, 50);
a.Location = new Point(n, 90);
}
موفق باشید .
splitContainer1.Panel2.Controls.Add(radioButton);
jean reno این خط رو تو سی شارپ ارروو میگیره ازش.
سلام
قصد جسارت ندارم اما این کدها به نظر من یه اشکال کوچیک داره،اونم مال وقتیه که اول عدد بزرگ وارد تکست باکس کنی و بعد از ایجاد کنترل ها، یبار دیگه با عدد کوچیک امتحان کنید،فکر کنم با یه while اضافه کردم حل بشه
بازم ممنون
من برای افزودن کنترل های radioButton از یه کنترل splitContainer استفاده کردم و AutoScroll پنل مربوطه رو در حالت True قرار دادم تا در صورتی که تعداد کنترل های افزوده شده بیشتر از اندازه فرم بود اسکرول بخوره
شما می تونید از کنترل های دیگه ای مثل GroupBox و یا Panel استفاده کنید فقط خاطرتون باشه کهAutoScroll کنترل مربوطه رو در حالت True قرار دهید
شاید درست متوجه منظورتون نشده باشم اما اگه منظورتون اینه که در صورتی که اول عدد بزرگ وارد بشه مثلا 9 کنترل بعد تعداد 7 کنترل مشکلی درنمایش پیش میاد
یه قسمتی از کد به این شرحه
foreach (Control control in splitContainer1.Panel2.Controls)
{
if (control is RadioButton)
splitContainer1.Panel2.Controls.Remove(control);
}
که تمام کنترل های از نوع RadioButton که در کانتینر مورد نظرمون هست رو حذف میکنه و از اول کنترل ها رو اضافه می کنه و فکر نمی کنم مشکلی پیش بیاد