سلام.
چطوری میتونم تو یه فرم (مثلا تنظیمات)کدی بنویسم که تو فرم اصلی ساعت رو که رو یه لیبله نشون نده؟ میخوام کدش رو با استفاده از CheckBox بنویسم.
سلام.
چطوری میتونم تو یه فرم (مثلا تنظیمات)کدی بنویسم که تو فرم اصلی ساعت رو که رو یه لیبله نشون نده؟ میخوام کدش رو با استفاده از CheckBox بنویسم.
// در لود فرم مینویسی
// 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;
}
}
نمیشه.ارور میده.
یه سرچ بزن داخل تاپیک ها
خواندن کنترل از فرم دیگر
پیدا می کنی.
خصوصیت Modifiers کنترل label رو برابر public قرار بدین. و با کد زیر در فرم تنظیماتتون بهش دسترسی پیدا کنید.
با فرض اینکه نام فرمی که ساعت در آن قرار دارد form1 و نام لیبل lbltime باشه:
form1.lbltime.Visible=false;
نه public درستش کردم.بازم نشد.
کدی که برات گذاشتمو تو ی باتن تو فرم تنظیماتت بزار ببین کار میکنه یا نه.
همین کارو کردم نشد.
private void checkBoxX1_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxX1.Checked == true)
MainForm.labelX2.visible = true;
else
MainForm.labelX2.Visible = false;
}
labelX2 رو public کردین؟
public کنین و تو یه باتن بزارین و اجرا کنین ببینین جواب میده اصلا. بعد رو چک باکسش بحث میکنیم
نه کار نمیکنه.
اروری چیزی میده؟...اگه ارور میده میشه بگین چیه؟....و اگه ارور نمیده.....
خصوصیت Modifiers کنترل label رو برابر public قرار بدین و کد زیر را بنویسید.
Form2 frm = new Form2();
if (checkBox1.Checked )
frm.label1.Visible = true;
else
frm.label1.Visible = false ;
frm.ShowDialog();
آره همین کارو کردم ولی نشد.
private void buttonX3_Click(object sender, EventArgs e)
{
MainForm.labelX2.Visible = false;
}
ارورش اینه.. An object reference is required for the non-static field, method, or property 'Library_Project.MainForm.labelX2'
فکر کنم شما باید ازMainFormنمونه سازی کنید...
اگر مشکلتون حل نشد ببینید که labelX2 وجود داره یا نه...
چون الان برای من که جواب داد...
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
Form1 frm = (Form1)Application.OpenForms["Form1"];
frm.label1.Visible = !checkBox1.Checked;
frm.Show();
}
تو خط اول اون "ّForm1" بجاش تایتل فرمی که ساعت توشه رو بزار
برنامه ش هم ضمیمه کردم
مرسی واقعا.میشه دو خط اولشو توضیح بدی