PDA

View Full Version : سوال: کد عدم نمایش ساعت در فرم اصلی و قرار دادن ChekBox در فرم تنظیمات



nazila.b
یک شنبه 10 شهریور 1392, 23:02 عصر
سلام.
چطوری میتونم تو یه فرم (مثلا تنظیمات)کدی بنویسم که تو فرم اصلی ساعت رو که رو یه لیبله نشون نده؟ میخوام کدش رو با استفاده از CheckBox بنویسم.

alexmcse
یک شنبه 10 شهریور 1392, 23:10 عصر
// در لود فرم مینویسی
// label1.Text = DateTime.Now.ToShortTimeString();
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{

if (checkBox1.Checked == true)
{
label1.Visible = true;
}
else if (checkBox1.Checked == false)
{
label1.Visible = false;
}
}

nazila.b
یک شنبه 10 شهریور 1392, 23:24 عصر
// در لود فرم مینویسی
// label1.Text = DateTime.Now.ToShortTimeString();
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{

if (checkBox1.Checked == true)
{
label1.Visible = true;
}
else if (checkBox1.Checked == false)
{
label1.Visible = false;
}
}

این که شما نوشتین اگه label تو همین فرم باشه اجرا می کنه.من میخوام تو یه فرم دیگه رو مخفی کنه.

R_khaleghi
یک شنبه 10 شهریور 1392, 23:27 عصر
این که شما نوشتین اگه label تو همین فرم باشه اجرا می کنه.من میخوام تو یه فرم دیگه رو مخفی کنه.

این خط کد رو بجای دستورات if بزار

form1.label1.visible = true

nazila.b
یک شنبه 10 شهریور 1392, 23:37 عصر
نمیشه.ارور میده.

R_khaleghi
یک شنبه 10 شهریور 1392, 23:43 عصر
یه سرچ بزن داخل تاپیک ها
خواندن کنترل از فرم دیگر
پیدا می کنی.

aliagamon
یک شنبه 10 شهریور 1392, 23:52 عصر
نمیشه.ارور میده.
اجتمالا label رو private تعریف کردین public کنین درست میشه...

amir200h
دوشنبه 11 شهریور 1392, 00:15 صبح
خصوصیت Modifiers کنترل label رو برابر public قرار بدین. و با کد زیر در فرم تنظیماتتون بهش دسترسی پیدا کنید.
با فرض اینکه نام فرمی که ساعت در آن قرار دارد form1 و نام لیبل lbltime باشه:
form1.lbltime.Visible=false;

nazila.b
دوشنبه 11 شهریور 1392, 00:18 صبح
نه public درستش کردم.بازم نشد.

amir200h
دوشنبه 11 شهریور 1392, 00:21 صبح
کدی که برات گذاشتمو تو ی باتن تو فرم تنظیماتت بزار ببین کار میکنه یا نه.

nazila.b
دوشنبه 11 شهریور 1392, 00:24 صبح
همین کارو کردم نشد.
private void checkBoxX1_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxX1.Checked == true)

MainForm.labelX2.visible = true;

else

MainForm.labelX2.Visible = false;

}

amir200h
دوشنبه 11 شهریور 1392, 00:31 صبح
labelX2 رو public کردین؟
public کنین و تو یه باتن بزارین و اجرا کنین ببینین جواب میده اصلا. بعد رو چک باکسش بحث میکنیم

nazila.b
دوشنبه 11 شهریور 1392, 00:34 صبح
نه کار نمیکنه.

aliagamon
دوشنبه 11 شهریور 1392, 00:36 صبح
اروری چیزی میده؟...اگه ارور میده میشه بگین چیه؟....و اگه ارور نمیده.....

farhad.k.t
دوشنبه 11 شهریور 1392, 00:38 صبح
خصوصیت Modifiers کنترل label رو برابر public قرار بدین و کد زیر را بنویسید.

Form2 frm = new Form2();
if (checkBox1.Checked )
frm.label1.Visible = true;
else
frm.label1.Visible = false ;
frm.ShowDialog();

nazila.b
دوشنبه 11 شهریور 1392, 00:41 صبح
آره همین کارو کردم ولی نشد.
private void buttonX3_Click(object sender, EventArgs e)
{
MainForm.labelX2.Visible = false;

}

nazila.b
دوشنبه 11 شهریور 1392, 00:45 صبح
ارورش اینه.. An object reference is required for the non-static field, method, or property 'Library_Project.MainForm.labelX2'

farhad.k.t
دوشنبه 11 شهریور 1392, 00:50 صبح
فکر کنم شما باید ازMainFormنمونه سازی کنید...

اگر مشکلتون حل نشد ببینید که labelX2 وجود داره یا نه...
چون الان برای من که جواب داد...

amir200h
دوشنبه 11 شهریور 1392, 00:53 صبح
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
Form1 frm = (Form1)Application.OpenForms["Form1"];
frm.label1.Visible = !checkBox1.Checked;
frm.Show();
}
تو خط اول اون "ّForm1" بجاش تایتل فرمی که ساعت توشه رو بزار
برنامه ش هم ضمیمه کردم

nazila.b
دوشنبه 11 شهریور 1392, 01:20 صبح
مرسی واقعا.میشه دو خط اولشو توضیح بدی:لبخند:

nazila.b
دوشنبه 11 شهریور 1392, 01:25 صبح
فکر کنم شما باید ازMainFormنمونه سازی کنید...

اگر مشکلتون حل نشد ببینید که labelX2 وجود داره یا نه...
چون الان برای من که جواب داد...


ممنون.مشکلم حل شد.

amir200h
دوشنبه 11 شهریور 1392, 01:50 صبح
مرسی واقعا.میشه دو خط اولشو توضیح بدی:لبخند:

خط اول میاد چک میکنه ببینه که آیا فرم باز هست یا نه که اگه بازه ازش دیگه نمونه جدید نسازه
خط دوم هم یجور کلک رشتیه :لبخند: بازی با کدها

nazila.b
دوشنبه 11 شهریور 1392, 02:05 صبح
خط اول میاد چک میکنه ببینه که آیا فرم باز هست یا نه که اگه بازه ازش دیگه نمونه جدید نسازه
خط دوم هم یجور کلک رشتیه :لبخند: بازی با کدها

آها منم به استادم همینو بگم دیگه:لبخند: مشکلی ک پیش نمیاد احیانا؟؟

amir200h
دوشنبه 11 شهریور 1392, 04:14 صبح
آها منم به استادم همینو بگم دیگه:لبخند: مشکلی ک پیش نمیاد احیانا؟؟

خلاف مقدار checked چکباکسو نسبت میده به لیبل :لبخند: