PDA

View Full Version : مبتدی: کار با چک باکس



hadi vafaii
شنبه 01 شهریور 1393, 01:11 صبح
با عرض سلام خدمت دوستان یه فرم دارم که یه سری اقلام تحویل میده که براشون چک باکس گذاشتم حالا جچوری کد بزنم که وقتی رو دو یا چند تا شون که

کلیک شد اونارو تویه لیبل چاپ کنه





122555

esafb52
شنبه 01 شهریور 1393, 01:48 صبح
خب از رویداد کلیک اش استفاده کن

private void checkBox2_Click(object sender, EventArgs e)
{
label1.Text = checkBox2.Text;
}

hadi vafaii
شنبه 01 شهریور 1393, 02:43 صبح
خب از رویداد کلیک اش استفاده کن

private void checkBox2_Click(object sender, EventArgs e)
{
label1.Text = checkBox2.Text;
}


اینو میدونم از کیلیکش استفاده کنم اما اون موقع اگه 2 مورد تحویل داده بشه چی؟ اینو چیکار کنمُ

محمد آشتیانی
شنبه 01 شهریور 1393, 03:30 صبح
تو رویداد Form Load اینو بنویس

foreach (object ctrl in this.Controls)
{
if (ctrl is CheckBox)
{
CheckBox C = new CheckBox();
C = ctrl as CheckBox;
C.CheckedChanged += new EventHandler(CheckEvent);
}
}


و این متد رو هم تو کلاس فرمت کپی کن (اسم Label1 رو به اسم لیبل خودت تغییر بده)

private void CheckEvent(object sender, EventArgs e)
{
foreach (object ctrl in this.Controls)
{
if (ctrl is CheckBox)
{
CheckBox C = new CheckBox();
C = ctrl as CheckBox;
if (C.Checked)
{
if (!label1.Text.Contains(C.Text))
label1.Text += C.Text + " - ";
}
else
{
if (label1.Text.Contains(C.Text))
label1.Text = label1.Text.Replace(C.Text + " - ", "");
}
}
}
}

البته راه های زیادی هست ، و شاید این که الان به ذهن من رسیده بدترینش باشه. :)


موفق باشید.

hadi vafaii
یک شنبه 02 شهریور 1393, 01:43 صبح
تو رویداد Form Load اینو بنویس

foreach (object ctrl in this.Controls)
{
if (ctrl is CheckBox)
{
CheckBox C = new CheckBox();
C = ctrl as CheckBox;
C.CheckedChanged += new EventHandler(CheckEvent);
}
}


و این متد رو هم تو کلاس فرمت کپی کن (اسم Label1 رو به اسم لیبل خودت تغییر بده)

private void CheckEvent(object sender, EventArgs e)
{
foreach (object ctrl in this.Controls)
{
if (ctrl is CheckBox)
{
CheckBox C = new CheckBox();
C = ctrl as CheckBox;
if (C.Checked)
{
if (!label1.Text.Contains(C.Text))
label1.Text += C.Text + " - ";
}
else
{
if (label1.Text.Contains(C.Text))
label1.Text = label1.Text.Replace(C.Text + " - ", "");
}
}
}
}

البته راه های زیادی هست ، و شاید این که الان به ذهن من رسیده بدترینش باشه. :)


موفق باشید.


سلام استاد ممنون از راهنمایی هاتون؛ بقیه رو نمیدونم اما من تو زمینه برنامه نویسی خودمو خیلی مدیون راهنمایی های شما میدونم این کد هارو قرار دادم اررو میده

122609


122609

محمد آشتیانی
یک شنبه 02 شهریور 1393, 02:05 صبح
دوست عزیز متد CheckEvent رو باید تو کلاس فرم کپی کنی (اون قسمت دوم کد گه گذاشتم)

ضمنا ممنون ، شما به بنده لطف داری

hadi vafaii
دوشنبه 03 شهریور 1393, 01:01 صبح
دوست عزیز متد CheckEvent رو باید تو کلاس فرم کپی کنی (اون قسمت دوم کد گه گذاشتم)

ضمنا ممنون ، شما به بنده لطف داری
عرض سلام خدمت استاد عزیز
منظورتون از کلاس فرمم همون پروگرم هستش دیگه نه؟
استاد همونجوری که گفتین انجام دادم اما بازم خطا میده میدونم کلافتون کردم اما خیلی سعی میکنم که خودم حلش کنم اما نمیشه تو اینترنتم خیلی چرخیدم اما چیزی پیدا نکردم



122642122643

محمد آشتیانی
دوشنبه 03 شهریور 1393, 01:30 صبح
سلام
خیر منظورم از کلاس فرم ، کلاس فرمه دقیقا :)
این نمونه رو ببین





موفق باشید.