PDA

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



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

alexmcse
یک شنبه 10 شهریور 1392, 22: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, 22: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, 22:27 عصر
این که شما نوشتین اگه label تو همین فرم باشه اجرا می کنه.من میخوام تو یه فرم دیگه رو مخفی کنه.

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

form1.label1.visible = true

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

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

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

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

nazila.b
یک شنبه 10 شهریور 1392, 23:18 عصر
نه public درستش کردم.بازم نشد.

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

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

MainForm.labelX2.visible = true;

else

MainForm.labelX2.Visible = false;

}

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

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

aliagamon
یک شنبه 10 شهریور 1392, 23:36 عصر
اروری چیزی میده؟...اگه ارور میده میشه بگین چیه؟....و اگه ارور نمیده.....

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

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

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

}

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

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

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

amir200h
یک شنبه 10 شهریور 1392, 23: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, 00:20 صبح
مرسی واقعا.میشه دو خط اولشو توضیح بدی:لبخند:

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

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


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

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

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

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

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

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

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