PDA

View Full Version : سوال: تغییر کردن متغیر سراسری در فرمهای دیگر



سعید کشاورز
دوشنبه 13 آذر 1391, 22:39 عصر
سلام دوستان..به یه مشکل بر خوردم.
من دو تا فرم دارم .
در Form1 یه متغیر بولین به اسم blnEdit تعریف کردم که Public هستش و مقدار اولیه آن False هستش حالا من میام توی رویداد Form1_load مقدار متغیر رو برابر True قرار میدم.پس الان باید مقدار متغیر من True شده باشه..اما وقتی به Form2 میرم مقدار متغیر False هستش.چجوری میتونم کاری کنم که مقدار متغیرم بر اساس رویداد Form1_load باشه ؟ یعنی من اونجا True کردم توی Form2 هم True شده باشه..فایل رو هم ضمیمه میکنم.دوستان خیلی سر این قضیه کارم گیره..ممنون میشم کمک کنید

morteza271
دوشنبه 13 آذر 1391, 23:28 عصر
دوست عزیز شما در هنگامی که میخواین مقدار متغیر رو در فرم2 نمایش بدین فرم1 رو دوباره نیو کردین پس طبیعیه که مقدار متغیر همون مقدار پیش فرض بشه.
برای اینکه مشکلتون رفع شه به صورت زیر عمل کنید :
در فرم 2 یه متغیر پابلیک از فرم 1 بسازید :


public Form1 form1Instance;
public Form2()
{
InitializeComponent();
}
برای نمایش مقدار متغیر فرم 1 به صورت زیر عمل کنید :


private void button1_Click(object sender, EventArgs e)
{
//Form1 f1 = new Form1();
label1.Text = form1Instance.blnEdit.ToString();
}
و در هنگام باز کردن فرم2 به صورت زیر :


private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.form1Instance = this;
f2.ShowDialog();
}
موفق باشید